簡體   English   中英

Magento自定義模塊-存儲位置包括

[英]Magento custom module - where to store includes

我正在創建一個自定義的magento模塊,無法確定存儲該模塊所需的某些配置文件的最佳位置?

有人建議這樣做的最佳地點嗎? 應該在模塊的根目錄中還是與助手一起使用?

編輯:與這個問題相同:是否可以在模塊的名稱空間的根目錄中包含一個包含將在模塊之間共享的文件夾?

如果這些文件用於配置,則它們屬於etc 以與unix / linux / bsd系統的etc文件夾相同的方式考慮etc文件夾。 在此放置配置信息。 約定是您應該使用XML文件保存配置數據,然后使用

Mage::getConfig()->loadModulesConfiguration('your-xml-name-here.xml')

使用loadModulesConfiguration方法加載配置值時,Magento將系統中所有模塊的XML文件合並到一棵大樹中。 這使您將要編寫的其他模塊(或其他編寫的模塊)可以共享配置信息。

無需執行此操作,但是etc絕對是要包含在模塊中的所有配置文件的定義位置。 另外,無論您選擇哪種方法,我都會選擇一個唯一的文件名(packagename_modulename.xml,packagename_modulename.inc等),以確保Magento的某人可能會選擇您的名稱以在將來的版本中使用。

與這個問題相同:是否可以在模塊的命名空間的根目錄中包含一個包含將在模塊之間共享的模塊的文件夾?

不,那是不可接受的。 如果要共享配置,請使用我上面提到的方法。 如果模塊需要彼此共享其他信息,則應直接共享(一個模塊實例化另一個模塊的模型),或者應定義一個中央“代理”模塊來處理所有模塊間的通信。 如果您對該主題更感興趣,我建議您推薦Meyer的面向對象軟件構建的前幾章。 如果您能克服舊編程書籍中涉及的整個“如何實現低級數據結構”的知識,那么它很好地介紹了CS人士在說“模塊”時的含義。

(還值得一提的是,如果有簡單的配置值,那么學習如何使用“ Magento系統配置管理”部分是值得的。)

您可能可以避免這種情況,但是您有意避免使用Magento。 在模塊內部,創建一個名為etc的目錄,並將一個名為config.xml的XML配置文件放入其中。 該文件將被讀取並包含在Magento配置中,這意味着您不必逃脫框架即可獲取配置數據。 看一下現有文件中的一些示例。

這種方法的另一個好處是,從配置XML文件到用戶配置選項(在管理面板中)的轉換不是太困難(需要進行少量重構),因此您以后可以輕松更改配置方法。

希望有幫助!

謝謝喬

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM