我想更改某些块的顺序和位置。从标题到右侧的放置已更改,但订单块无效。
这是我的代码:
<reference name="header">
<action method="unsetChild"><name>top.menu</name></action>
<action method="unsetChild"><name>top.search</name></action>
<action method="unsetChild"><name>top.links</name></action>
</reference>
<reference name="right">
<remove name="right.poll" />
<action method="insert">
<blockName>top.menu</blockName>
</action>
<action method="insert">
<blockName>top.search</blockName>
</action>
<action method="insert">
<blockName>top.links</blockName>
<after>top.menu</after> <!-- Here I want top.links to come after top.menuwhich is not working -->
</action>
</reference>
答案 0 :(得分:2)
这里,<after>
是一个布尔值,你不能在其中写入块名称。
<action method="insert">
<blockName>top.links</blockName>
<after>top.menu</after> <!-- Here I want top.links to come after top.menuwhich is not working -->
</action>
请改为尝试:
<action method="insert">
<blockName>top.links</blockName>
<sublingName>top.menu</sublingName>
<after>1</after>
</action>
答案 1 :(得分:0)
另一种选择是从干净的基地开始
这是我个人更喜欢的,然后,完整的布局更新在local.xml中,然后更容易阅读和理解以进行维护。这也可以避免块嵌套中的冲突,因为我的解决方案建议重命名它们(top.links =&gt; right.links,top.search =&gt; right.search,top.nav =&gt; right.nav)。但根据我的经验,这只是我的观点:))
所以这是我在Magento 1.7.0.1
上成功尝试过的local.xml<layout version="0.1.0">
<default>
<reference name="header">
<remove name="top.menu"/>
<remove name="top.search"/>
<remove name="top.links"/>
</reference>
<reference name="right">
<block type="core/text_list" name="right.menu" as="topMenu" translate="label" before="-">
<label>Navigation Bar</label>
<block type="page/html_topmenu" name="catalog.rightnav" template="page/html/topmenu.phtml"/>
</block>
<block type="page/template_links" name="right.links" as="rightLinks" after="right.menu">
<action method="addLink" translate="label title" module="customer"><label>My Account</label><url helper="customer/getAccountUrl"/><title>My Account</title><prepare/><urlParams/><position>10</position></action>
<block type="wishlist/links" name="wishlist_link" />
<action method="addLinkBlock"><blockName>wishlist_link</blockName></action>
<block type="checkout/links" name="checkout_cart_link">
<action method="addCartLink"></action>
<action method="addCheckoutLink"></action>
</block>
</block>
<block type="core/template" name="right.search" as="rightSearch" template="catalogsearch/form.mini.phtml" after="right.links"/>
</reference>
</default>
<customer_logged_in>
<reference name="right.links">
<action method="addLink" translate="label title" module="customer"><label>Log Out</label><url helper="customer/getLogoutUrl"/><title>Log Out</title><prepare/><urlParams/><position>100</position></action>
</reference>
</customer_logged_in>
<customer_logged_out>
<reference name="right.links">
<action method="addLink" translate="label title" module="customer"><label>Log In</label><url helper="customer/getLoginUrl"/><title>Log In</title><prepare/><urlParams/><position>100</position></action>
</reference>
</customer_logged_out>
</layout>