Разделы

  
 

pHx против Jot, AjaxSearch и Ditto. Или как не дать на съедение pHx плэйсхолдеры.

Все задавались проблемой пропадания содержимого плейсхолдеров [! Jot !] [+jot.html.form+] и [+jot.html.comments+] на кэшируемой странице. На буржуйских форумах советовали вызывать этот сниппет вместо плэйсхолдера с параметром «action». Но зачем нам лишняя гора запросов!

Итак в http://modxcms.com/forums/index.php?topic=45121.0 сказали, что проблема в pHx.


( Читать дальше )

в чем может быть проблема?

при большом кол-ве текста в content, напрочь отрубается phx

Оптимизация PHx - убираем лишние запросы к БД

На modxcms.com пользователь tobice столкнулся с проблемой чрезмерно большого количества обращений к БД.
В результате выяснилось, что в плагине PHx содержится досадная ошибка, которая приводит к 1 дополнительному запросу к БД при каждом вызове phx-сниппета. К примеру, если вы используете Дитто, то вы получите по N дополнительных запросов на каждую итерацию (в случае некешируемого вызова)!


( Читать дальше )

Jot & PHx: несовместимы

Добавил плагин Phx, установку произвёл по инструкции. Но сразу возникли проблемы: комментарии Jot пропали, и вообще всё что связано с его вызовом. Jot не кешируемый.
Припер вызова:
[!Jot? &subscribe=`1` &pagination=`10` &sortby=`createdon:a` &placeholders=`1` &output=`0` &validate=`name`!]
[+jot.html.comments+]
[+jot.html.form+]
[+jot.html.moderate+]

Были у кого нибудь подобные проблемы?

Версия Evo 1.0.3
  • 0
  • 13 мая 2010, 20:38
  • MAK
  • 19

Проблемы с путем при вызове PHx

Ребята, прошу помощи.

На локальном все работало хорошо (C:/xampp/xampp/htdocs/---), после переноса на сервер начались косяки.

« MODx Parse Error »

MODx encountered the following error while attempting to parse the requested resource:
« PHP Parse Error »
PHP error debug
Error: include_once(C:/xampp/xampp/htdocs/---/assets/plugins/phx/phx.parser.class.inc.php) [function.include-once]: failed to open stream: No such file or directory
Error type/ Nr.: Warning — 2
File: /var/home/natur/htdocs/manager/includes/document.parser.class.inc.php(746): eval()'d code
Line: 9
Parser timing
MySQL: 0.0029 s (6 Requests)
PHP: 0.0029 s
Total: 0.0059 s

Не понимаю, откуда в плагине Phx прописался локальный путь к своим файлам?

Очень серьезный вопрос по выводу в дитто

На сайте присутствуют 3 колонки Новости Акции Предложения, суть такова, есть TV параметр в виде Radio option, с такими параметрами как и блоки, суть в том, что при указании одного из трех параметров, нужно вывести документы, только с данным параметром, я думал на счет PHX но не нашел ни одного решения, возможно сделать так, что бы дитто сам от фильтровал все, кроме нужного параметра?
P.S Php я не знаю (

Как проверить есть ли документы в папке?

Можно ли с помощью phx проверить есть ли у документа дочерние ресурсы? У меня вызов ditto на странице стоит, хочу сделать условие: если есть дочерние ресурсы у текущего документа то parent="[*id*]" если нет, то parent="[*parent*]"

Наверняка есть способы решения. Подскажите пожалуйста.
  • 0
  • 13 марта 2010, 00:45
  • posha
  • 6

PHP-скрипты в шаблоне ditto

Приветствую всех еще раз.
В общем, когда вывожу список анонсов статей с помощью дитто, необходимо реализовать различные условия.
Например, при выводе, если в шаблоне страницы с которой берется анонс есть TV-параметр [*TV1*], то выводится картинка:
<img src='img/[*TV1*].jpg'>
если нет такого параметра, то этой строки соответственно не выводится.

При запросе, через getDocument — выводится информация о текущем документе, а не документах с анонсами, ну это и понятно.
Может есть для дитто какая-нибудь переменная, чтобы вытаскивать инфу через getDocument()

Или все-таки стандартными средствами Ditto это не сделать? Прочел про PHx, установил.
Пока не разобрался.
Для примера, вставляю данную строку в шаблон дитто [+pagetitle:isnotempty:then='String to return if not empty'+]
По-моему она должна выводить 'String to return if not empty', если заголовок страницы не пустой. А выводит: Parse error: syntax error, unexpected ')' in ...\assets\plugins\phx\phx.parser.class.inc.php(220): eval()'d code on line 1
  • 0
  • 11 марта 2010, 22:33
  • Sqaier
  • 8

Phx and Parser limits

Если MODx перестал обрабатывать выражения PHx и выводит их в чистом виде, но все правильно написано, вы в шоке и не знаете что делать — поздравляю!

Решение:
Основное описание на английском.

Краткое описание:
Исчерпан лимит на длину регулярных выражений в PHP.

Вот эта незатейливая строчка, например в коде PHx или в конфиге MODx сэкономит нервы:
ini_set('pcre.backtrack_limit', '16000000');


Так-то! ;)
  • +4
  • 18 февраля 2010, 13:31
  • pitbull
  • 4

Одинаковые шаблоны и разные TV для страниц

На сайте есть много страниц, которые выглядят одинаково, но на страницах используются разные TV параметры. Другими словами код HTML для них одинаковый, а параметры должны быть разные.

Мне крайне не хотелось плодить для этого кучу шаблонов и забивать мозг редактора сменой этих шаблонов при редактировании страниц. Должно было быть все просто, как три копейки.

Решил возложить почетные обязанности по сбережению мозга редактора на ManagerManager и PHx. Докладываю, с задачей он справился!

( Читать дальше )
  • +4
  • 3 февраля 2010, 22:08
  • pitbull
  • 6