2011-01-22 61 views
1

如果我想擴展一個Joomla模塊,例如K2,什麼是「最佳實踐」?擴展第三方Joomla組件和模塊

我遇到過某些人通過直接更改模塊源文件來修改第三方模塊的情況。我花了幾年時間作爲Drupal開發人員,這通常被認爲是不好的做法,因爲如果模塊出現重要更新,實現起來就很困難,因爲代碼必須轉移到新的更新 - 如果您忘記了,那麼您的網站崩潰。使用Drupal,您可以編寫一個新的自定義模塊,並使用Drupal API的「掛鉤」來修改第三方模塊以完成它需要做的事情。

直接修改模塊和組件對我來說似乎不是一個好主意 - 如果你是Joomla忍者,並且你知道Drupal的方式,那麼權衡這一點,或者讓我指出一個很好的參考?

謝謝!

回答

1

簡單的答案是,它取決於。在某些情況下,您可以簡單地使用覆蓋系統來完成您正在嘗試執行的操作。大多數每個體面編碼的模塊或組件都允許您使用覆蓋。就佈局和顯示代碼而言,您可以通過這種方式完成很多工作。

在其他情況下,您可以使用插件根據各種觸發器更改輸出。 Joomla有一系列內置觸發器,用於插件系統。你可以在這裏找到各種Joomla活動的完整列表 - http://docs.joomla.org/Tutorial:Plugins

最後,既然你提到了K2,這是一個很好的擴展例子,它的目的是擴展。 K2不僅擁有自己的K2特定插件觸發器,還可以通過使用管理插件擴展管理功能。這確實可以讓你有很大的靈活性讓K2做你想做的事情。

+0

感謝您的信息,布倫特。在Drupal中,編輯第三方模塊(或核心)的源碼是絕對沒有問題的。 Joomla的情況不是這樣嗎?聽起來好像你在說沒關係?如果是這樣,Joomla如何在不破壞自定義代碼的情況下對原始模塊進行更新? – tpow 2011-01-24 15:34:34