Форум русской поддержки Joomla!® CMS
24.07.2017, 10:44:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Замена видимого контента при загрузке страницы

 (Прочитано 55 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Psixodelik
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« : 03.07.2017, 12:08:59 »

Добрый день. Возникла следующая проблема:

Необходимо на поддоменах сайта делать автоматические замены (например замена города в метатегах и контенте). В Joomla до версии 3 я это делал таким образом в корневом index.php
Код:
$app->render();

include $_SERVER["DOCUMENT_ROOT"]."/regions.php";
$app = changeWords($app);

echo $app;

Где changeWords — функция в которой происходят замены.

В Joomla 3 за вывод теперь отвечает такой код
Код:
JDEBUG ? JProfiler::getInstance('Application')->setStart($startTime, $startMem)->mark('afterLoad') : null;
$app = JFactory::getApplication('site');
$app->execute();

Как теперь подобраться к выводу контента и сделать необходимые замены? Насколько я понимаю, мне нужно как-то воспользоваться событием onAfterRender и произвести все замены, но почему-то пока никак это не получается. Забрать весь вывод я могу с помощью getBody, но вот как это сделать до вывода на страницу?
Записан
Psixodelik
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #1 : 03.07.2017, 13:36:32 »

Проблему решил сам. Вдруг кому понадобится:
Код:
ob_start();
$app->execute();
$content = ob_get_contents();
ob_get_clean();

include $_SERVER["DOCUMENT_ROOT"]."/regions.php";
$content = replace_region($content);
echo $content;
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet