我可以自定义Magento应用程序/代码/核心文件夹而不影响将来的升级吗?

mck*_*k89 2 php upgrade magento

我找到了如何向用户添加新属性的指南,它解释了对于此操作,我必须修改目录中的一些文件app / code / core / Mage(包含Magento模块的目录).

但如果我在该文件夹中进行一些更改,这会影响未来的升级吗?

升级是否会删除我的更改?

我是否应该仅将更改限制在我的模块中以避免更新问题?

小智 8

您还可以在app/code/local /中创建文件的副本,其目录结构与app/code/core /下的文件相同.local下的文件将覆盖核心下的文件,不会受到升级的影响.

例如:

app/code/local/Mage/Checkout/Block/Onepage/Billing.php

将覆盖:

app/code/core/Mage/Checkout/Block/Onepage/Billing.php

并且不会被升级覆盖.请注意,这仅适用于块和模型文件.

您也可以使用config.xml文件通过自定义模块覆盖文件,尽管这有点高级.

  • 它也适用于助手,而不是控制器.使用config-rewrite"正确"执行此操作的好处是,您可以扩展内置类并仅替换/扩展您需要调整的位,但是当您进行升级时,这两种方法都需要检查/测试,以防万一工作方式发生了变化 (2认同)