Difference between revisions of "Triggering content plugins in your extension"
From Joomla! Documentation
m (added Category:Plugin Development using HotCat) |
(Add notice JDispatcher is deprecated in Joomla 3.x) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | A common example of [[Supporting plugins in your component|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 | + | {{version|2.5,3.x}} |
+ | A common example of [[Supporting plugins in your component|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: | ||
<source lang="php"> | <source lang="php"> | ||
− | $text = | + | $text = JHtml::_('content.prepare', $text); |
</source> | </source> | ||
− | For | + | For any other content triggers you must call: |
<source lang="php"> | <source lang="php"> | ||
− | $dispatcher = | + | $dispatcher = JDispatcher::getInstance(); |
− | $item->text = | + | $item->text = your_text_area_item; |
$item->params = clone($params); | $item->params = clone($params); | ||
JPluginHelper::importPlugin('content'); | JPluginHelper::importPlugin('content'); | ||
Line 15: | Line 16: | ||
</source> | </source> | ||
− | You might want to look at core components (for example com_content) for an example. | + | 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. | ||
Also for PHP5.3 compliance please look at the discussion page. | Also for PHP5.3 compliance please look at the discussion page. |
Revision as of 05: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.