2

我是joomla用戶,我爲joomla 2.5創建了一些擴展和模板,但現在由於引導框架和響應模板,我升級到joomla 3。我需要你的幫助:joomla 3 vs 2.5擴展開發差異

如何更新joomla 2.5擴展與joomla 3一起工作,並做出響應?

我搜索了一下,找不到任何關於「擴展」的答案。

回答

3

這是一個很大的問題,但這裏有一些基準步驟。

首先,確保你的2.5代碼是乾淨的。也就是說,如果您仍在使用2.5版中不推薦使用的任何類,請首先在2.5版本中更新它們,或者先在3版本中進行更新。如果你沒有記錄棄用的類,你應該這樣做,以確保你不會錯過任何。特別是你想擺脫JRequest並尋找你可能擴展的任何方法,它們自己擴展JObject並確保你不依賴於這些方法。此外,您需要確保已經更改了任何擴展JModel以擴展JModelLegacy(以及類似的JView和JController)。根據輸出的複雜程度,您可能會將核心代碼作爲管理員佈局的模型。對於前端,我的經驗主要是改變佈局文件以使用更新的類和ID。

2

如果您使用Component Creator開發組件框架,您可以指定是否要構建Joomla 2.5或Joomla 3.0兼容代碼。

1

由於2.5是當前的LTS版本,直到3.5;大多數核心變更都被棄用而不是完全刪除。這意味着你仍然可以使用它們,而現在,遷移2.5組件所需的東西總的來說並不多。我肯定會通讀由Soren提供的漫步,但是這裏有三個「主要」需要的變化,以獲得在3.1和更高版本Joomla上運行的2.5組件...當然有警告! :d

1)確保所有視圖類延伸JViewLegacy

2)確保主控制器延伸代替JController

3)確保您的主要部件的入口點(my_component_name.php文件JControllerLegacy在組件根目錄中)使用JControllerLegacy :: getInstance('my_component_name')而不是JController :: getInstance('my_component_name')