Вместе с Joomla устанавливается компонент для материалов - com_content. Если посмотреть его код, то там находятся такие события:

  • onContentPrepare
  • onContentAfterTitle
  • onContentBeforeDisplay
  • onContentAfterDisplay

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

Выполнение плагина:

$results = $dispatcher->trigger('onContentBeforeDisplay', array('com_content.article', &$item, &$this->params, $offset));

Если вы делаете свой компонент или модуль к Joomla, то вы можете использовать плагины для компонента com_content:

$obj = new stdClass;
$obj->text = $text;
JPluginHelper::importPlugin('content');
$dispatcher =& JDispatcher::getInstance();

$results = $dispatcher->trigger( 'onContentPrepare', array( 'com_filer.filer', &$obj, &$params, 0 ) );

echo $obj->text; 

Либо так, как например, в модуле mod_custom с использованием загрузчика:

JPluginHelper::importPlugin('content');
$module->content = JHtml::_('content.prepare', $module->content, '', 'mod_custom.content');

вызывается функция:

public static function prepare($text, $params = null, $context = 'text')
 {
  if ($params === null)
  {
   $params = new JObject;
  }
  $article = new stdClass;
  $article->text = $text;
  JPluginHelper::importPlugin('content');
  $dispatcher = JDispatcher::getInstance();
  $dispatcher->trigger('onContentPrepare', array($context, &$article, &$params, 0));

  return $article->text;
 }