Подключение мамботов к процессу обработки данных нового компонента
24.08.2012
Иногда нужно, что бы вывод компонента обрабатывался мамботами какой-либо группы.
Например, нужно чтобы данные из нашего компонента были пропущены через мамботы группы content перед их отображением пользователю.
Общий вид кода, который вызывается из стандартного com_content:
1 |
global $mainframe, $_MAMBOTS; if($mainframe->getCfg('mmb_content_off') != 1) { $_MAMBOTS->loadBotGroup('content'); $results = $_MAMBOTS->trigger('onPrepareContent', array(&$row, &$params, $page), true); } |
Причесываю для абстрактного компонента и заодно комментирую:
1 |
// Вытаскиваем глобальные $mainframe и $_MAMBOTS global $mainframe, $_MAMBOTS; // Проверяем, включена ли обработка через мамботы. Если нет желания завесить от глобальных настроек, то можно это условие удалить. if($mainframe->getCfg('mmb_content_off') != 1) { $params = array(); // Загружаем группу мамботов «content», если нужна другая группа, то нужно указать нужную. $_MAMBOTS->loadBotGroup('content'); // Скармливаем ботам наши данные. // $row – объект в котором содержатся данные которые нужно обработать, бОльшая часть ботов работает с $row->text $_MAMBOTS->trigger('onPrepareContent', array(&$row, &$params, 0), true); } |
Также обратите внимание, что вызывается триггер onPrepareContent, для более подробной информации о группах мамботов и триггерах можно прочитать в заметке "Мамботы Joomla 1.0.X"