代码之家  ›  专栏  ›  技术社区  ›  mrN vbence

Magento重新排列块不起作用

  •  0
  • mrN vbence  · 技术社区  · 13 年前

    我想更改一些块的顺序和位置。从标题到右侧的位置已更改,但订单块不起作用。

    这是我的代码:

    <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>
    
    2 回复  |  直到 13 年前
        1
  •  2
  •   Kalpesh    13 年前

    在这里 <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>
    
        2
  •  0
  •   Hervé Guétin    13 年前

    另一种选择是通过

    1. 删除块
    2. 重新创建它们

    这是我个人更喜欢的,因为完整的布局更新在local.xml中,这样维护起来更容易阅读和理解。这也可以避免块嵌套中的冲突,因为我的解决方案建议重命名它们(top.links=>right.links,top.search=>,right.search,top.nav=>!right.nav)。但这只是我根据自己的经验得出的意见:)

    From top to right

    这是我在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>
    
    推荐文章