Triggering content plugins in your extension: Difference between revisions
From Joomla! Documentation
No edit summary |
Marked this version for translation |
||
| (7 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
{{version| | <noinclude><languages /></noinclude> | ||
A common example of [[ | <noinclude>{{Joomla version|version=3.x}}</noinclude> | ||
<translate><!--T:1--> | |||
A common example of [[S:MyLanguage/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:</translate> | |||
<source lang="php"> | <source lang="php"> | ||
| Line 6: | Line 8: | ||
</source> | </source> | ||
For any other content triggers you must call: | <translate><!--T:2--> | ||
For any other content triggers you must call:</translate> | |||
<source lang="php"> | <source lang="php"> | ||
| Line 12: | Line 15: | ||
$article->text = $text; | $article->text = $text; | ||
// add more to parameters if needed | // <translate><!--T:7--> add more to parameters if needed</translate> | ||
$params = new JObject; | $params = new JObject; | ||
// Note JDispatcher | // <translate><!--T:8--> Note JEventDispatcher succeeded the older JDispatcher from Joomla 1.5/2.5 however it does still work if you need to keep compatibility.</translate> | ||
JPluginHelper::importPlugin('content'); | JPluginHelper::importPlugin('content'); | ||
$dispatcher = | $dispatcher = JEventDispatcher::getInstance(); | ||
$dispatcher->trigger('onContentPrepare', array('some.context', &$article, &$params, 0)); | $dispatcher->trigger('onContentPrepare', array('some.context', &$article, &$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. | <translate><!--T:3--> | ||
You might want to look at core components (for example com_content) for an example. See the [[S:MyLanguage/Plugin/Events|triggers page]] for the possible content plugin triggers.</translate> | |||
<noinclude> | |||
<noinclude>[[Category:Extension development]][[Category:Plugins]] | [[Category:Extension development{{#translation:}}]] | ||
[[Category:Plugin Development]] | [[Category:Plugins{{#translation:}}]] | ||
[[Category:Development Recommended Reading]] | [[Category:Plugin Development{{#translation:}}]] | ||
[[Category:Development Recommended Reading{{#translation:}}]] | |||
</noinclude> | </noinclude> | ||
Latest revision as of 17:24, 7 April 2020
Joomla!
3.x
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 JEventDispatcher succeeded the older JDispatcher from Joomla 1.5/2.5 however it does still work if you need to keep compatibility.
JPluginHelper::importPlugin('content');
$dispatcher = JEventDispatcher::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.