如何将非侵入式设计更改应用于 Magento 1.X

How do I apply nonintrusive design changes to Magento 1.X

我在安装 Magento 时遇到了一些麻烦,我 "inherited" 来自一家对主题进行了大量自定义的公司。

我尝试合理化大部分更改,并且非常成功。现在的问题是,我有一些模板文件只有一行更改。

例如,在这种特定情况下,<button> 现在是 <a> link。这几乎只是 300 行模板文件中的一行。

扩展的布局文件也出现了类似的问题。他们那里有一条脏线,例如重置整个布局。 然后我需要在设计中覆盖整个布局 XML 文件,只是在一行中做一点改动,因为那些布局文件要么被覆盖,要么没有被覆盖。不涉及合并过程。

我查看了 Magento 的设计者文档,但没有找到任何有用的信息。 我知道我可以在我的设计中对 "local.xml" 进行一些特定的布局更改,但这些更改或多或少是 "contextless",如果这些更改确实属于某个扩展名,这就不是很好了。

您是否知道应用前半部分提到的少量模板更改或部分布局文件覆盖的方法?

我的主要目标是让文件自动更新,这几乎意味着:下载模块,替换文件,完成。 没有对任何被覆盖的文件进行手动更新。

使用 "inherited" 模板作为新包中的默认模板,并使用您的更改添加子模板。示例:

app/design/frontend/[package_name]/default - 这里将是 "inherited" 旧模板 app/design/frontend/[package_name]/[your_child_template] - 这是您的新子模板

skin/design/frontend/[package_name]/default - 这里将是 "inherited" 旧模板 skin/design/frontend/[package_name]/[your_child_template] - 这是您的新子模板

可以对一个 local.xml 文件中的所有页面或扩展名进行部分布局文件覆盖。示例:

app/design/frontend/[package_name]/[your_child_template]/layout/local.xml

如果您想为某个扩展添加更改,只需在您的模板文件夹中添加扩展 xml 文件。这将是最后一个渲染的,并且将与原始的一起。结帐购物车页面示例:

app/design/frontend/[package_name]/[your_child_template]/template/checkout/cart.phtml

对于像您的按钮示例这样的 phtml 文件内部的小改动,您将不得不覆盖整个 phtml 文件。 Magneto 无法只覆盖 phtml 文件的一部分。