J3.x

Triggering content plugins in your extension

From Joomla! Documentation

Revision as of 05:01, 8 August 2013 by Wilsonge (talk | contribs) (Add notice JDispatcher is deprecated in Joomla 3.x)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

A common example of using plugins is to run the content plugins on some text. This is useful if you want to support plugins that usually work on Content from a custom extension. For the content prepare trigger you can simply call:

$text = JHtml::_('content.prepare', $text);

For any other content triggers you must call:

$dispatcher = JDispatcher::getInstance();
$item->text = your_text_area_item;  
$item->params = clone($params);
JPluginHelper::importPlugin('content'); 
$dispatcher->trigger('onPrepareContent', array (& $item, & $item->params, 0));

Note in Joomla 3.x JDispatcher is deprecated in favour of JEventDispatcher. However as JEventDispatcher doesn't exist in Joomla 2.5 - this code is needed for your extension to support both versions of Joomla.

You might want to look at core components (for example com_content) for an example. See the triggers page for the possible content plugin triggers.

Also for PHP5.3 compliance please look at the discussion page.