Лично я считаю PHx отвратительной программой, увеличивающей время генерации страниц в разы (по сравнению с решением аналогичных задач средствами PHP), так что сам не использую, но иногда приходится сталкиваться. Наиболее распространенная проблема – PHx удаляет все плейсхолдеры, которые не смог обработать, поэтому остальные программы не могут ничего добавить на страницу. Это делается в файле phx.parser.class.inc.php за строками
// clean up unused placeholders that have modifiers attached (MODx can’t clean them)
preg_match_all(’~\[(\+|\*|\()([^:\+\[\]]+)([^\[\]]*?)(\1|\))\]~s’, $template, $matches);
Там можно как-то обрабатывать ситуацию.
В действительности обычные плейсхолдеры там удаляются зря, и слова MODx can’t clean them неверны, так как перед выдачей в MODx выполняется такая обработка:
preg_match_all(’~\[\+(.*?)\+\]~’, $this->documentOutput, $matches);
if ($matches[0])
$this->documentOutput= str_replace($matches[0], ’’, $this->documentOutput);
Не знаю, имеются ли какие-то элементы, которые остаются от PHx и не удаляются MODx, да и разбираться как-то неохота, лучше вообще этот PHx не использовать (а если он используется из-за незнания PHP, можно только посочувствовать).
Стоит уточнить, что в некоторых сниппетах встроен PHx, и если он там немного используется, проблем не возникает, проблема возникает только при активном использовании PHx в качестве плагина.
Понятно. Тогда постараюсь пока его обходить.
А в чем фишка? Я ставил 2.1.4, там какой-то косяк?
К сожалению пока не тестировал, но старше версия работает.
В новой на сколько знаю, ничего толком не поменялось.
Quote from: labasus at Feb 16, 2011, 07:16 AM
но старше версия работает
Проблема с плейсхолдерами все равно имеется.