【问题标题】:Is there a way to create a custom model/view for an existing component like com_content in Joomla?有没有办法为 Joomla 中的 com_content 等现有组件创建自定义模型/视图?
【发布时间】:2011-10-28 04:06:50
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: joomla joomla-extensions joomla1.7


    【解决方案1】:

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

    【讨论】:

    • "onAfterContentCreate" 不是有效的 Joomla!函数,除非您有指向该函数文档的链接。谢谢!
    • 'onAfterContentCreate' 本身不是一个函数,而是一个事件。插件挂钩这些事件,任何东西(在本例中为核心 'com_content' 组件模型)都可以使用 JDispatcher 来调度它们。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      我可以确认这可以正常工作,但请评估哪个选项更适合您的项目,因为组件模型主要是为 Joomla 的本机组件制作的,并且可能缺少某些特定功能。

      【讨论】:

        猜你喜欢
        • 2021-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-01
        • 2016-08-25
        • 2019-08-22
        • 1970-01-01
        相关资源
        最近更新 更多