Triggering content plugins in your extension: Difference between revisions
From Joomla! Documentation
Add note about JDispatcher Deprecation in 3.x |
Remove duplicate text |
||
| Line 9: | Line 9: | ||
<source lang="php"> | <source lang="php"> | ||
// Note JDispatcher is deprecated in favour of JEventDispatcher in Joomla 3.x | // Note JDispatcher is deprecated in favour of JEventDispatcher in Joomla 3.x however still works. | ||
$dispatcher = JDispatcher::getInstance(); | $dispatcher = JDispatcher::getInstance(); | ||
$item->text = your_text_area_item; | $item->text = your_text_area_item; | ||
| Line 16: | Line 16: | ||
$dispatcher->trigger('onPrepareContent', array (& $item, & $item->params, 0)); | $dispatcher->trigger('onPrepareContent', array (& $item, & $item->params, 0)); | ||
</source> | </source> | ||
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 21:20, 27 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:
// Note JDispatcher is deprecated in favour of JEventDispatcher in Joomla 3.x however still works.
$dispatcher = JDispatcher::getInstance();
$item->text = your_text_area_item;
$item->params = clone($params);
JPluginHelper::importPlugin('content');
$dispatcher->trigger('onPrepareContent', array (& $item, & $item->params, 0));
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.