Обработка текста перед выводм.

#
Обработка текста перед выводм.
Здравствуйте! Не могу найти событие или в каком файле можно модифицировать тексты страницы перед выводом.
Требуется подменять в тексте вхождения, к примеру, %city% на имя города соответствующий текущему поддомену.
По аналогии плагинов для других CMS типа WP или Joomla onContentBeforeDisplay, the_content соответственно.
Перебрал уже много всяких хуков, но толку ни какого.
Модератор
#
Re: Обработка текста перед выводм.
IvanDEV,
Вариант 1: использовать где нужно шорткоды

Вариант 2: Подменять в тексте сгенерированной страницы. Данные отправляет Core_Response, в методе showBody() есть два события
Core_Response.onBeforeShowBody
Core_Response.onAfterShowBody
вам нужно первое.

Получить в хуке данные можно через метод $object->getBody(), установить новый - через метод $object->changeBody($body)
#
Re: Обработка текста перед выводм.
А в какой обсервер код хука поместить? Добавил в \modules\shop\item.observer.php
Код работает, но ошибка вылетает call_user_func() expects parameter 1 to be a valid callback, class 'Core_Response_Observer' not found в файле /home/v/vovchi6p/temp.dd76.ru/public_html/modules/core/event.php (строка 107)
В bootstrap.php добавил
Core_Event::attach('Core_Response.onBeforeShowBody', array('Core_Response_Observer', 'onBeforeShowBody'));
Модератор
#
Re: Обработка текста перед выводм.
IvanDEV,
да хоть в bootstrap.php и вызов и код

IvanDEV писал(а):
, class 'Core_Response_Observer' not found

Правильно, система не будет его искать в \modules\shop\item.observer.php, какая связь Core_Response_Observer и указанного вами пути?!

Именование классов и размещение файлов
#
Re: Обработка текста перед выводм.
Спасибо! Так и сделаю.
Авторизация