2009-09-15 134 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並根據它創建你自己的模塊。模板覆蓋僅用於標記。