Magento Block Positioning永远不会工作

时间:2011-03-03 19:21:20

标签: magento

你好,我似乎总是遇到问题。

请参阅我正在处理的网站:http://www.hemptationz.com

我希望左侧边栏上的块按此顺序显示:

Facebook Block(callouts / facebook.pthml) 货币区块(目录/ currency.phtml) 产品类别Block(vertnav / left.phtml) 信息链接块(callouts / left_col.phtml)

这是我在XML布局文件中的代码:

的catalog.xml

<reference name="left">
  <block type="core/template" name="facebook" template="callouts/facebook.phtml" after="currency" />
  <block type="core/template" name="left.permanent.callout" template="callouts/left_col.phtml" after="catalog.vertnav" />
</reference>

vertnav.xml

<reference name="left">
  <block type="vertnav/navigation" name="catalog.vertnav" template="vertnav/left.phtml" before="left.permanent.callout" />
</reference>

directory.xml

<layout version="0.1.0">

<!--
Category default layout
-->
    <default>
        <reference name="head">
            <block type="core/template" name="optional_zip_countries" as="optional_zip_countries" template="directory/js/optional_zip_countries.phtml" />
        </reference>
    </default>

    <catalog_category_default>
        <reference name="left">
            <block type="directory/currency" name="currency" before="facebook" template="directory/currency.phtml"/>
        </reference>
    </catalog_category_default>

<!--
Category layered navigation layout
-->

    <catalog_category_layered>
        <reference name="left">
            <block type="directory/currency" name="currency" before="facebook" template="directory/currency.phtml"/>
        </reference>
    </catalog_category_layered>

<!--
Catalog Search layout
-->

    <catalogsearch_advanced_index>
        <reference name="left">
            <block type="directory/currency" name="right_currency" before="facebook" template="directory/currency.phtml"/>
        </reference>
    </catalogsearch_advanced_index>

    <catalogsearch_result_index>
        <reference name="left">
            <block type="directory/currency" name="currency" before="facebook" template="directory/currency.phtml"/>
        </reference>
    </catalogsearch_result_index>

    <catalogsearch_advanced_result>
        <reference name="right">
            <block type="directory/currency" name="right_currency" before="facebook" template="directory/currency.phtml"/>
        </reference>
    </catalogsearch_advanced_result>

</layout>

谢谢希望你能帮助我。

2 个答案:

答案 0 :(得分:2)

beforeafter属性的范围有限。他们只能影响

  

当子块core/test_list或其他自动呈现已排序子项的块时,块在特定子块中的顺序。

您没有充分说明如何使用问题中的属性为您提供具体的建议,但我认为您不能使用该功能执行您认为可以做的事情。在你的问题中更明确,并提供代码示例,以及“我期望foo,我得到酒吧”风格上下文,并将帮助你。

答案 1 :(得分:0)

您想要此订单: 1. Facebook 2.货币 3.垂直导航 4.信息链接 但在您的布局中,您已指定facebook是货币。如果你想先显示一些东西,你必须先使用=“ - ”(在facebook链接中),然后使用after =“facebook”作为货币,在=“currency”之后使用catalog.vertnav并使用after =“ - ”表示左.permanent.callout将它放在底部。