我想修改在管理界面和PDF生成代碼訂單/銷售表的代碼,而無需在core
目錄alterting的文件。我該怎麼做呢?我明白,我要創建一個使用我想覆蓋文件相同的路徑一個新的模塊,但我不知道還有什麼我必須做的......有沒有一些特殊的措施來補辦的3210模塊??如何覆蓋Magento Core模塊?
2
A
回答
6
如果你想這樣做在一個單獨的模塊,你應該把你的新模式(塊,輔助性或者任何你需要重寫 - 我將要使用的模型爲例,其同爲別人 - 只有控制器是完全不同的)在'Model'目錄中(例如:code/local/MyNamespace/MyModule/Model/Sales/Order.php)。在你的模塊config.xml中你應該增加:
<global>
(...)
<models>
(...)
<sales>
<rewrite>
<order>MyNamespace_MyModule_Model_Sales_Order</order>
</rewrite>
</sales>
</models>
(...)
</global>
當然你自己sales_order的模型應該從核心一個繼承。這是覆蓋Magento核心功能的最乾淨的方式(可能除了事件,但他們不能做所有事情)。
0
創建要在模塊本地文件夾修改的匹配目錄和文件。這應該是所有需要的。
0
由於mcmil正確地指出的那樣,在自己的命名空間創建一個模塊,並從核心類擴展。通過這樣做,您可以編寫更少的代碼並創建更少的代碼。它還可以改善您未來的升級途徑。
如果只是整個文件從應用程序/代碼/核心拷貝到應用程序/代碼/本地,然後將核心文件/類獲取在未來的Magento更新,你可能會錯過這些的改變而改變。如果您正在使用模塊從核心類擴展,那麼當您更新Magento時,您的新類將繼承這些更改。
相關問題
- 1. Magento的2 - 如何覆蓋塊模板
- 2. 如何覆蓋Magento核心塊模板?
- 3. Magento - 覆蓋塊
- 4. 覆蓋Magento的塊
- 5. Magento塊覆蓋 - Report_Filter_Form
- 6. Magento - 覆蓋Adminhtml塊
- 7. Magento - 覆蓋「OnepageController.php」
- 8. Magento:覆蓋Mage_CatalogSearch_Model_Resource_Helper_Mysql4
- 9. 不能覆蓋在magento塊模板
- 10. 如何覆蓋Magento核心塊?
- 11. Magento覆蓋模型
- 12. Magento模型覆蓋
- 13. Magento模型覆蓋
- 14. 覆蓋多個模塊中的magento塊(以及如何忽略其他模塊)
- 15. Magento的覆蓋抽象塊
- 16. Magento 1.5覆蓋目錄塊
- 17. 覆蓋itemrender塊 - Magento的
- 18. Magento塊覆蓋錯誤
- 19. Magento層級覆蓋
- 20. 如何覆蓋magento函數?
- 21. 覆蓋Magento Mage_Sales_Model_Order_Invoice_Total_Subtotal
- 22. 如何覆蓋Magento社區模型?
- 23. Magento:如何覆蓋視圖模板
- 24. 覆蓋Customer_Block_Form_Login Magento
- 25. 我該如何覆蓋Magento中的本地模塊?
- 26. 如何覆蓋我的自定義magento模塊中的media.phtml?
- 27. 如何覆蓋magento自定義模塊中的.phtml文件?
- 28. 覆蓋Python模塊
- 29. 覆蓋python模塊
- 30. 覆蓋Mage_Core_Model_Resource在Magento