0

いくつかのブロックの順序と配置を変更したかったのです。ヘッダーから右への配置がから変更されましたが、注文ブロックが機能していません。

これが私のコードです:

<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>
4

2 に答える 2

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>
于 2012-09-09T09:17:08.010 に答える
0

別のオプションは、クリーンなベースから開始することです

  1. ブロックを削除する
  2. それらを再現する

これは私が個人的に好むものです。したがって、完全なレイアウトの更新はlocal.xmlにあり、メンテナンスのために読みやすく、理解しやすくなっています。これにより、私のソリューションがブロックの名前を変更することを提案しているため、ブロックのネストでの競合を回避することもできます(top.links => right.links、top.search => right.search、top.nav => right.nav)。しかし、これは私の経験に基づく私の意見です:)

上から右へ

これが、Magento1.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>
于 2012-09-09T09:41:45.603 に答える