如何覆盖joomla模块的方法?

时间:2009-09-15 01:53:32

标签: php joomla module

我有一个模板需要覆盖joomla模块方法(不是模板)。我知道如何通过创建/ html / mod_abcd / ...来覆盖模板(tmpl)但是是否可以为我的模板覆盖joomla模块?

我正在使用mod_frontpage,似乎mod_frontpage会删除括号内的内容({...}) 所以我只需要修改一些代码行。如果可能的话,我想覆盖这些方法,而不是改变核心本身。

可能吗?以及如何做到这一点......

提前感谢...

2 个答案:

答案 0 :(得分:1)

如果要覆盖方法,首先需要找出方法所在的类。一旦找到,就可以创建一个新类:

class class_name extends joomla_class_name{

    function method_you_want_to_override(){
        //New stuff here
    }

}

如果使用final关键字将类定义为Joomla中的“final”类,则它是一种无法覆盖的方法。要启用覆盖,您只需从父类的方法声明中删除该关键字。

答案 1 :(得分:1)

你最好的镜头是分叉mod_frontpage并根据它创建你自己的模块。模板覆盖仅用于标记。