Joomla:插件插件-如何“发布”功能?

MBaas

我正在开发一个插件,它将有自己的插件来处理各种事件。

现在,我正在考虑使此插件添加自己的“命令”。但是我想知道如何最有效地治疗它。我有自己的命令列表,无论如何我都在本文中进行搜索。然后我应该只是触发一个DoWhatYouWant($article)-event-还是因为无论如何我都要进行搜索(以及参数解析),也许我可以构建一个全局命令列表,然后触发一个“- ExecuteCommand($article,$cmd,$params)”事件?听起来更好,但是然后(我认为),我必须构建此命令列表(以便我的程序知道要查找的内容),因此每个插件都必须以某种方式“宣传”它可以做什么,即它可以处理的命令-我不知道该怎么做。

还是有更好(更标准化?)的方法?

老婆

如果通过插件帮助程序导入插件

JPluginHelper::importPlugin('mycmdplugins');

然后您可以获得子插件支持的所有可用命令,例如

$cmds = JDispatcher::getInstance()->trigger('onMyAwesomeCmds');

使用$ cmds变量,您现在知道子插件支持哪些命令,并且可以为它们解析文章。那你可以做

foreach ($cmds as $cmd) {
  preg_match_all("{".$cmd."*}", $article->text, $matches, PREG_SET_ORDER);
  if (!empty($matches)) {
    JDispatcher::getInstance()->trigger('onMyAwesome'.ucfirst($cmd), array($article, $params));
  }
}

为了消除更多重复的任务,我建议其他插件将从您的plugins文件夹中扩展一个基类。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何修复 Joomla 插件清单?

来自分类Dev

用户在joomla 3.0中登录后如何调用插件

来自分类Dev

如何在joomla中的页面中显示插件

来自分类Dev

用户在joomla 3.0中登录后如何调用插件

来自分类Dev

如何在joomla插件的XML文件中包含图像?

来自分类Dev

Joomla,如何使用组件名称获取插件中的组件ID

来自分类Dev

如何在 Joomla 中为插件添加参数?

来自分类Dev

Maven发布插件-如何仅发布快照?

来自分类Dev

Joomla插件可通过渗透现有模块或组件来添加新功能

来自分类Dev

Joomla插件可通过渗透现有模块或组件来添加新功能

来自分类Dev

Joomla如何实现项目发布和项目发布功能?

来自分类Dev

用于 Maven 发布等功能的 Gradle 发布插件

来自分类Dev

如何在XSL(Joomla中的SobiPro插件)中获取下拉列表的值?

来自分类Dev

如何将Jquery或Jquery插件添加到Joomla 3

来自分类Dev

Joomla软件包:默认情况下如何启用插件?

来自分类Dev

麻烦发布咕噜插件

来自分类Dev

Maven Wagon插件发布

来自分类Dev

从Vernemq插件发布消息

来自分类Dev

无法发布Grails插件

来自分类Dev

Maven Wagon插件发布

来自分类Dev

gradle-release插件+ Maven发布插件

来自分类Dev

插件发布缺少插件类型“Gmail”

来自分类Dev

Joomla计划插件激活

来自分类Dev

Joomla插件的类型?

来自分类Dev

Joomla“ PageNavigation”插件

来自分类Dev

如何使Maven发布插件跳过测试?

来自分类Dev

如何发布 Office 365 MS Outlook 插件

来自分类Dev

如何创建扩展现有 vim 插件功能的插件?

来自分类Dev

插件属于什么功能