【发布时间】:2013-04-20 21:26:38
【问题描述】:
我需要修改位于 app/code/core/Mage/Adminhtml/Block/Page/Menu.php 的 Menu.php。我的问题是我可以将目录路径更改为 local (app/code/local/Mage/Adminhtml/Block/Page/Menu.php) 而不会出现任何问题未来?
【问题讨论】:
标签: magento
我需要修改位于 app/code/core/Mage/Adminhtml/Block/Page/Menu.php 的 Menu.php。我的问题是我可以将目录路径更改为 local (app/code/local/Mage/Adminhtml/Block/Page/Menu.php) 而不会出现任何问题未来?
【问题讨论】:
标签: magento
following article 中解释了覆盖 Magento 核心类的最佳实践
您需要创建自己的基本模块,并重写核心类以指向您模块的类。然后该类可以扩展现有的 Magento 核心类,覆盖或扩展任何方法。
然而,您可以简单地将文件及其路径复制到本地目录,因为 Magento 的自动加载器在查找类时首先默认在那里。这样做的问题是,当您决定升级 Magento 时,您必须将新文件完全复制到您的路径(如果它已被升级修改)并重新应用您的修改。
重写/扩展是一种更易于维护的解决方案,但后者既快速又简单。选择权在你!
【讨论】: