进行 Magento 更新(维护不善的 Magento 安装)的最佳实践是什么。
我想到了以下几点:
- 查看 app/code/local 中的完全覆盖模块 - 将文件与旧版本进行比较并将它们转发到新的 Magento 版本
- 比较模板
- 比较布局 XML 文件(如果它们被直接复制到自定义主题文件夹并且没有使用仅包含实际更新的单个 layout.xml)
- 将重写类的方法与原始类的方法进行比较
主要问题是:在旧的、维护不善的 Magento 安装中比较文件时,您永远不知道被复制的原始文件具有哪个版本。有时我试图通过查看文件评论中 Magento 的版权来识别旧版本。
为了避免更新过程中的麻烦,我们通常会执行以下操作:
- 避免重写,改用事件
- 如果需要重写,尽量不要复制代码,而是调用 parent::method() 以在被覆盖的类中只保留必要的功能
- 如果需要复制代码,请使用标记注释,例如
[Mycompany BEGIN] ... [Mycompany END]
- 不要复制整个布局文件,而是使用一个仅更新的 layout.xml。
但是,如果没有采取这些预防措施,如何进行更新?