Использование мамботов для произвольного содержимого
sl007,  28-01-2008
  
Наверное многим известно, что мамботы группы “content” занимаются изменением содержимого перед его выводом и не только. Например, мамбот mosPerForms, вместо определенных тегов в содержимом, подставляет созданную форму. Или мамбот googlemaps - отображает карту в содержимом, там где встретит «свои» теги.

На днях столкнулся с проблемой обработки содержимого, которое не является стандартным статичным или динамичным контентом, то есть поле некой таблицы, в которое сохранен текст, созданный html-редактором в админке. Мне нужно, чтобы это содержимое тоже обрабатывалось мамботами перед выводом.

Проблема решилась следующим образом:


global $_MAMBOTS, $database;

//создаем объект контента, нужен для работы мамботов
$row = new mosContent($database);

$_MAMBOTS->loadBotGroup( 'content' );

//параметров в данном случае задавать не нужно
$params = new mosEmpty();

$row->text = $my_text; // $my_text - содержимое, которое нужно обработать мамботами

//обработка контента мамботами, которые вызываются на событие "onPrepareContent"
//в моем случае нужно было чтобы в контенте мамбот SEF обработал ссылки на другие
//материалы Joomla! , он работает при событии "onPrepareContent".
$results = $_MAMBOTS->trigger( 'onPrepareContent', array( &$row, &$params, $page ), true );

//выводим уже обработанный текст
echo ampReplace( $row->text );