如何更新一个维护不良的Magento安装程序,有哪些最佳实践?
以下是一些想法:
- 查看app/code/local中完全覆盖的模块-比较文件与旧版本并将其转移到新的Magento版本
- 比较模板
- 比较布局XML文件(如果它们直接复制到自定义主题文件夹中,并且没有使用仅包含真实更新的单个layout.xml)
- 将重写类的方法与原始类的方法进行比较
主要问题是:在旧的、维护不良的Magento安装程序中对文件进行差异化比较时,您永远不知道复制的原始文件是哪个版本。有时我会通过查看文件注释中Magento版权来确定旧版本。
为避免更新期间的麻烦,我们通常采取以下措施:
- 避免重写,使用事件代替
- 如果必须重写,请尝试不复制代码,而是调用parent::method()以仅保留重写类中必要的功能
- 如果需要复制代码,请使用标记注释,例如
[Mycompany BEGIN] ... [Mycompany END]
- 不要复制整个布局文件,而是使用仅进行更新的单个layout.xml。
但如果没有采取这些预防措施,该如何进行更新呢?