Actions

Difference between revisions of "Triggering content plugins in your extension"

From Joomla! Documentation

(Update 1.5 to 2.5/3.x)
(Add notice JDispatcher is deprecated in Joomla 3.x)
Line 15: Line 15:
 
$dispatcher->trigger('onPrepareContent', array (& $item, & $item->params, 0));  
 
$dispatcher->trigger('onPrepareContent', array (& $item, & $item->params, 0));  
 
</source>
 
</source>
 +
 +
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 [[Plugin/Events|triggers page]] for the possible content plugin triggers.
 
You might want to look at core components (for example com_content) for an example. See the [[Plugin/Events|triggers page]] for the possible content plugin triggers.

Revision as of 04:01, 8 August 2013

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.