Разделы

Прямой эфир

Весь эфир | RSS
  
 

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

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

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


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

Вывод имени автора документа...

Столкнулся вот с трудностью такой, в дитто имя автора выводится а на самой странице не знаю как вывести=((
Кто нибудь знает нужный плейсхолдре, эдакий [*creatby*] ???
  • -1
  • 26 февраля 2010, 01:33
  • posha
  • 17

[Ditto] playsholder'ы дня, месяца, года

вобщем нужно вывести дату в чанке «по частям», т.е. «тут» день, «там» год и т.д. как это можно реализовать?

PHX: Вырезание нужных плейсхолдеров

Есть у меня небольшой сниппет, который позволяет устанавливать плейсхолдер непосредственно в тексте документа/чанка/шаблона. Текст его таков:
<?
$modx->setPlaceholder($name,$value);
?>

но суть не в этом.

На сайте работает такеж плагин PHx. И какого было моё разочанование, когда я не смог использовать плейсхолдеры установленные с помощью данного сниппета.

После долгого копания в недрах, вышел я на PHx включив debug-режим (если кто не знал, у плагина такое есть). В результате в логах прочитал следующее:
44 [01:26:31] Cleaning unsolved tags:
brand
brand
collection_name

т.е. получается PHx взял и удалил мои теги, т.к. они по его мнению не используются. :( большой и толстый FAIL.

Ну ладно полез я в код PHx и решил закоментировать следующие строчки (63 строка плагина):
preg_match_all('~\[(\+|\*|\()([^:\+\[\]]+)([^\[\]]*?)((\1|\))\]~s', $template, $matches);
      if ($matches[0]) {
      $template = str_replace($matches[0], '', $template);
      $this->Log("Cleaning unsolved tags: \n" . implode("\n",$matches[2]) );
    }

отвечающие как раз этот самый эффект.
Всё заработало. Однако есть смутные сомнения, что это выражение вырезало различные бяки из вывода MODx, которые теперь будут периодически появлятся.
Вот вопрос состоит в том, что бы модифицировать регулярку так, чтобы оно удаляло всё что не нужно, но нормальные плейсхолдеры, TV-параметры не трогало.

Прошу помочь мне в этом. Спасибо.