有没有办法为Joomla中的com_content等现有组件创建自定义模型/视图?

时间:2011-08-16 15:07:57

标签: joomla joomla-extensions joomla1.7

有没有办法为现有组件创建自定义模型/视图?例如,如果您想在查看类别时更改com_content中使用的查询以包含来自其他表的数据,是否可以创建新的模式/视图来实现此目的?或者,如果想要整合其他类型的内容(例如使用twitter api或tumblr api)将内容放入类别流(并保持正确的分页),则需要更改模型,但是可以创建自定义模式而不会出现黑客攻击Joomla核心?

谢谢!

3 个答案:

答案 0 :(得分:1)

在创建内容时,我们编写了一个插件,在此插件中执行onAfterContentCreate,我们编写了自定义模型功能。当所有默认功能都已执行时,将调用此插件。我们在模板中修改了视图,在模板html文件夹中我们编写了扩展视图。

答案 1 :(得分:1)

joomla不提供任何功能来创建现有组件的自定义模型或视图。 您可以使用模板覆盖覆盖视图,但它只会更改页面外观而不是功能..

答案 2 :(得分:0)

正如sushil bharwani所指出的,可能最好的选择是创建内容插件并将事件挂钩onAfterContentCreate(有关内容插件,请参阅available events)。

也可以按照您最初的预期将组件模型用于您自己的扩展。此方法已用于Joomla CMS 1.7本身(mod_articles模块在自己的帮助文件中加载内容组件模型),类似于以下文章中的描述:Joomla MVC – Load a model from anywhere!

我可以确认这种方法很好,但是评估哪个选项更适合您的项目,因为组件模型主要是为Joomla的本机组件制作的,可能缺少某些特定的功能。