Magento:模板文件和布局XML文件之间的关系

mus*_*sme 2 layout magento

我看到callouts模板(frontend\my_package\default\template\callouts中的文件)没有相应的布局XML文件(frontend\my_package\default\layout).所以,我想如果我在frontend\my_package\default\layout\callouts.xml中有一个空白的布局XML文件,这将禁用Magento首页上的callout块.但是,它不起作用.

结帐模板确实有一个checkout.xml布局文件,因此将其设为空白文件会从我正在查看的页面中删除checkout out块.对于checkout块的情况,checkout.xml是否会覆盖从活动catalog.xml调用的内容?我不从catalog.xml中删除相应的行,但空白的checkout.xml文件将禁用此块.

我知道删除catalog.xml中任何块的相应行都会删除/不会在网页上加载我想要的内容,但我想知道为什么我"覆盖"标注的尝试无法正常工作.TIA!

注意:我已经禁用了缓存.

Ala*_*orm 5

简短版本:所有这些XML文件都合并为一个巨大的XML文件.然后,在每个请求期间,选择某些顶级标记(<default>,<catalog_category_index>等;其中标记称为句柄)内的XML,并将其合并到较小的XML文件中.较小的XML文件中留下的节点是一组用于创建某些块的指令.每个(好的,大多数)块都有一个phtml模板文件.当你添加东西local.xml,你说"除了正常的东西,做这个额外的东西".当您替换整个文件时catalog.xml,您会说"我们的文件",请忽略您通常所做的事情.

如果您对长版本感兴趣,请阅读Magento布局系统上的No Frills Magento Layout,我的DRM免费PDF.