2009-09-15 136 views
1

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

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

这可能吗?如何做到这一点...提前

感谢...

回答

1

如果你想覆盖的方法,拳头,你需要找出方法驻留在什么类。一旦你找到,你就可以创建一个新类:

class class_name extends joomla_class_name{ 

    function method_you_want_to_override(){ 
     //New stuff here 
    } 

} 

如果该类被定义为使用的Joomla final关键字“最终”级,它是不能覆盖的方法。要启用覆盖,只需从父类中的方法声明中删除该关键字即可。

+0

我在哪里保存这个文件? 我将仅用于我的模板。 – nightingale2k1

+0

您必须将文件与原始类包含在新文件中。然后,在新文件中扩展该类之后,可以覆盖并使用新方法。 – BraedenP

1

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