是否有可能 - 以及正确的方法 - 创建一个向现有模块或组件广告新功能的Joomla 3插件。我已经对一些流行的组件和模块进行了一些小的但有用的UI功能更改,我将与其他人共享。我认为编辑源代码不是方法,插件最好。谢谢!
答案 0 :(得分:2)
是的,它可能的Joomla插件就是为此而设计的,
您可以使用Joomla plugin事件向现有组件或模块添加更多功能。
有许多扩展使用此概念,例如扩展默认用户组件com_users
,com_virtuemart
等。
如果您使用的是UI功能,我认为System plugin可以帮助您解决难题
例如,我使用Product Zoom facility为com_virtuemart
创建了一个新功能,它使用系统插件事件。
希望它有意义......
答案 1 :(得分:1)
我非常确定没有“正确的方法”来做到这一点,因为Joomla旨在只允许你覆盖视图而不是模型。
(如果您不知道如何操作 - 将组件视图的default.php文件复制到模板/ templates / yourtemplate / html / com_componentname / viewname / default.php。)
然而,有人写了这篇文章以允许你覆盖模型 - http://extensions.joomla.org/extensions/style-a-design/templating/15611。下载他们的代码并查看它可能会给你一个hacky方法。
然而,他们使用eval
表明它远远超出了Joomla框架。
您可以挂钩插件的事件列表在这里: http://docs.joomla.org/Plugin/Events - 您可以在任何这些点搜索和替换变量和输出,但这并不是真正“渗透现有模块或组件”,因为它将在加载的组件之外发生。