2011-11-11 34 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