Подключение мамботов к процессу обработки данных нового компонента

24.08.2012
Иногда нужно, что бы вывод компонента обрабатывался мамботами какой-либо группы.

Например, нужно чтобы данные из нашего компонента были пропущены через мамботы группы content перед их отображением пользователю.

Общий вид кода, который вызывается из стандартного com_content:

1
2
3
4
5
6
7
global $mainframe, $_MAMBOTS;

if($mainframe->getCfg('mmb_content_off') != 1)
{
  $_MAMBOTS->loadBotGroup('content');
  $results = $_MAMBOTS->trigger('onPrepareContent', array(&$row, &$params, $page), true);
}

Причесываю для абстрактного компонента и заодно комментирую:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Вытаскиваем глобальные $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


Категории: CMS Joostina (Joomla 1.0.X), Joomla
Яндекс.Метрика