Difference between revisions of "Triggering content plugins in your extension"
From Joomla! Documentation
(The example was using onPrepareContent instead of onContentPrepare) |
|||
Line 9: | Line 9: | ||
<source lang="php"> | <source lang="php"> | ||
+ | $article = new stdClass; | ||
+ | $article->text = $text; | ||
+ | |||
+ | // add more to parameters if needed | ||
+ | $params = new JObject; | ||
+ | |||
// Note JDispatcher is deprecated in favour of JEventDispatcher in Joomla 3.x however still works. | // Note JDispatcher is deprecated in favour of JEventDispatcher in Joomla 3.x however still works. | ||
+ | JPluginHelper::importPlugin('content'); | ||
$dispatcher = JDispatcher::getInstance(); | $dispatcher = JDispatcher::getInstance(); | ||
− | + | $dispatcher->trigger('onContentPrepare', array('some.context', &$article, &$params, 0)); | |
− | |||
− | |||
− | $dispatcher->trigger('onContentPrepare', array ('some.context', &$ | ||
</source> | </source> | ||
Revision as of 12:13, 27 March 2015
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:
$article = new stdClass;
$article->text = $text;
// add more to parameters if needed
$params = new JObject;
// Note JDispatcher is deprecated in favour of JEventDispatcher in Joomla 3.x however still works.
JPluginHelper::importPlugin('content');
$dispatcher = JDispatcher::getInstance();
$dispatcher->trigger('onContentPrepare', array('some.context', &$article, &$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.