Выдано 122018 лицензий

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

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

ПрофильЦитировать выделенное04.03.2019 11:35:09 • Сообщений: 3
Re: Обработка текста перед выводм.
#
hostcms
Модератор
IvanDEV,
Вариант 1: использовать где нужно шорткоды

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

Получить в хуке данные можно через метод $object->getBody(), установить новый - через метод $object->changeBody($body)

ПрофильЦитировать выделенное04.03.2019 12:14:27 • Сообщений: 16181
Re: Обработка текста перед выводм.
#
IvanDEV
А в какой обсервер код хука поместить? Добавил в \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'));

ПрофильЦитировать выделенное04.03.2019 13:17:27 • Сообщений: 3
Re: Обработка текста перед выводм.
#
hostcms
Модератор
IvanDEV,
да хоть в bootstrap.php и вызов и код

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

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

Именование классов и размещение файлов

ПрофильЦитировать выделенное04.03.2019 13:24:05 • Сообщений: 16181
Re: Обработка текста перед выводм.
#
IvanDEV
Спасибо! Так и сделаю.

ПрофильЦитировать выделенное04.03.2019 13:38:15 • Сообщений: 3
Авторизация