代码之家  ›  专栏  ›  技术社区  ›  nightingale2k1

如何重写joomla模块的方法?

  •  1
  • nightingale2k1  · 技术社区  · 15 年前

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

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

    有可能吗?如何做到这一点。。。

    提前谢谢。。。

    2 回复  |  直到 15 年前
        1
  •  1
  •   BraedenP    15 年前

    如果要重写该方法,首先需要找出该方法所在的类。找到后,可以创建一个新类:

    class class_name extends joomla_class_name{
    
        function method_you_want_to_override(){
            //New stuff here
        }
    
    }
    

    如果在Joomla中使用final关键字将类定义为“final”类,则不能重写该方法。若要启用重写,只需从父类的方法声明中移除该关键字。

        2
  •  1
  •   jlleblanc    15 年前

    你最好的办法就是用叉子 mod_frontpage 并根据它创建自己的模块。模板重写仅用于标记。