2011-11-11 32 views
5

我已经设法达到了解如何在Magento布局中从一列到另一列移动块的步骤:通过在<reference>标记中指定“左”或“右”属性。但是,我不明白如何更改出现块的订单。我注意到<block>标签的“之前”和“之后”属性有些事情要做,但我不确定它们是如何工作的。如果我想将块从其区域的顶部移动到页面中的任何其他位置,那么这些属性的正确用法和语法是什么?之前和之后在Local.xml Magento?

例如,我有一个类别页面,我在里面有这些块:

  • view.phtml
    • list.phtml
      • toolbar.phtml

...等等。

我想把我的块放在这些块的任何位置,或者在这些块的顶部,或者让所有这些块显示在另一个块内。如何使用我的local.xml文件使用“之前”和“之后”来实现此目的?

注意:我可以通过继承它们各自的.xml文件来手动完成,但这不是一个好的整体解决方案。

回答

6

before:用于在具有在值中指定名称的块之前定位块。如果使用“ - ”值,则该块位于块嵌套级别的所有其他块之前。

after:用于将块定位在值之后指定名称的块之后。如果使用“ - ”值,则该块位于块嵌套级别的所有其他块之后。

更新时间:实例从一些随机的核心布局更新:

<reference name="right"> 
    <block type="catalog/product_compare_sidebar" before="cart_sidebar" name="catalog.compare.sidebar" template="catalog/product/compare/sidebar.phtml"/> 
</reference> 

<reference name="right"> 
    <block type="catalog/product_list_related" name="catalog.product.related" before="-" template="catalog/product/list/related.phtml"/> 
</reference> 

更新时间:我相信before只有在core/text_list和类似的(后裔)块,after工作即刚刚呈现块的嵌套块的块。

+0

请编辑你的答案,以便我可以接受它。 – ScoRpion

+0

以前是什么=“cart_sidebar”?它是模板名称,块名称还是别的。 – ScoRpion

+0

@Showket'之前':**用于将块放置在名称中指定名称的块之前。**此处不清楚什么? – Zyava