如何在任何joomla组件中调用joomla“简单图片幻灯片”插件。有解决方案吗?
由于
答案 0 :(得分:6)
在Joomla中调用内容插件的最佳方式! 1.5及以上只是用途:
$text = JHTML::_('content.prepare', $text);
http://docs.joomla.org/Triggering_content_plugins_in_your_extension
答案 1 :(得分:3)
您可以调用该插件中定义的任何插件事件。
$dispatcher = JDispatcher::getInstance();
$data = array($argu1, $argu2); // any number of arguments you want
return $dispatcher->trigger($eventName, $data);
答案 2 :(得分:2)
在Joomla中,插件不是典型意义上的调用,它们是由各种事件触发的。该插件侦听触发它的特定事件。在这种情况下,您需要查看甚至简单图片幻灯片监听的内容,然后将该触发器添加到您的组件。保证插件始终被触发的唯一方法是让它监听一个全局系统事件,这些事件发生在组件中的代码中,它们发生在框架级别。如果插件是由非全局事件触发的,那么您需要更改插件或将事件添加到使用插件所需的每个组件。
全球系统事件参考 - http://docs.joomla.org/Reference:System_Events_for_Plugin_System
答案 3 :(得分:1)
此问题专门针对joomla的Content
插件。
您可以触发组件中的任何插件事件。
以下是触发content
插件onPrepareContent
事件的示例。
$content = new stdClass;
$content->text = 'Your content body with proper tag or
content wich you want to replace.
For example: {loadmodule mod_login}';
$atricle = array();
JPluginHelper::importPlugin('content');
$dispatcher = JDispatcher::getInstance();
JDispatcher::getInstance()->trigger(
'onPrepareContent',
array(
&$content,
&$atricle,
null
)
);
或者,如果您只想触发组件的特定插件,则可以使用
JPluginHelper::importPlugin('content', 'loadmodule');
第二个参数是您要使用的插件的名称。
同样,您可以在组件中调用用户插件事件。
JPluginHelper::importPlugin('user', 'contactcreator');
JDispatcher::getInstance()->trigger(
'onUserAfterSave',
array(
$user,
$isnew,
$success,
$msg
)
);