在过去的3年,我们致力于Magneto,并按“Magento的方式”的管理代码,发现使用local.xml是修改布局最好的方法之一。
这篇文章是写给那些还不知道这种用法的人,如果你已经在使用这种方式,恭喜你,如果还没有,你确实应该使用它。
思路很简单:只使用local.xml这一个文件,把它放到你所使用模板的layout目录下,重写或更新该模板的所有布局用XML。
优点:
1、只用一个文件来管理重写或更新
2、不需要再有任何其他的xml文件在你的模板里,因为它依赖于base目录下的xml文件
3、所有修改都很明显的只在local.xml一个文件里面,不需要去从很多xml文件里查看到底做了哪些修改
缺点:
1、我想不到缺点,除非让代码的修改变得更透明和明显不是你想要的
如何使用local.xml文件?所有你需要做的只是在你所使用模板的layout目录下新建它并写入你自己的xml代码。当Magento读取xml文件时会率先查找你在local.xml里面所做的修改,并应用它们,然后才会去读取base目录下的xml文件(如果在后台把它设为默认xml目录的话)。
如何设置它
1、在你所使用模板的layout目录下新建文件local.xml(app/frontend/default/your-theme/layout)
2、添加基本XML标记结构
3、添加xml代码来重写布局结构。看下面的例子:
示例:
1、移除或添加javascript
2、添加代码来只对分类页做修改。设置使用的模板布局文件并添加一些javascript
3、用“remove”来从布局里移除一些特殊的block(products compare, products viewed and related products)
4、用“unsetChild”来从布局里移除一些特殊的block(products compare, products viewed and related products)
当然还有其他许多用途,我只是使用了添加,删除和更新,来说明您的开发流程如何使用local.xml。
对还没有使用过这种方式的人来说,希望这能帮你在下一个项目中开个好头,也非常欢迎针对这个来一起讨论。
感谢您的阅读!
原文地址:http://inchoo.net/ecommerce/magento/using-local-xml-for-overriding-or-updating-xml-structure/