使用local.xml从顶层菜单中删除链接

时间:2011-10-14 15:03:24

标签: magento

有没有人知道如何使用local.xml从顶层菜单中删除链接。

在默认的checkout.xml中有:

<reference name="top.links">
    <block type="checkout/links" name="checkout_cart_link">
        <action method="addCartLink"></action>
        <action method="addCheckoutLink"></action>
    </block>
</reference>

我想从顶部菜单中删除addCartLink。一种方法是只编辑checkout.xml文件,但它认为将删除添加到我的local.xml文件是一个更好的解决方案,但我似乎无法获得正确的名称删除。如果我做了

<layout>
    <default>
        <remove name="top.links" />
    </default>
</layout>

这会删除整个菜单,但如何使用locale.xml从菜单中删除单个项?

我正在使用Magento 1.6

6 个答案:

答案 0 :(得分:15)

您可以在local.xml中执行此操作:

<default>
  <reference name="top.links"> 
    <action method="removeLinkByUrl">
      <url helper="checkout/url/getCartUrl" />
    </action> 
  </reference>
</default>

这也是我的问题How can i get the full path in local.xml file

答案 1 :(得分:9)

<default>
 <reference name="top.links">
    <block type="wishlist/links" name="wishlist_link"/>
    <action method="removeLinkBlock"><blockName>wishlist_link</blockName></action>
 </reference> 
</default>

将此部分添加到 local.xml 。在默认下写下此内容会将其从每个页面中删除。所以相应地调整它。我希望这会对你有所帮助。

答案 2 :(得分:4)

应该是:

<layout>
     <default>
        <reference name="top.links">
            <reference name="checkout_cart_link">
                <remove name="top-link-cart" />
            </reference>
        </reference>
     </default>
</layout>

但您可以随时复制本地主题中的 checkout.xml 并进行编辑。

答案 3 :(得分:3)

<default>
<reference name="top.links">
    <remove name="wishlist_link"/>
</reference>
</default>

将此部分添加到 local.xml 。这对我行得通。只需使用“删除”即可。就是这样。

答案 4 :(得分:1)

您可以通过布局更新删除链接

  1. 以其名称|调用removeLinkBlock($ blockName)
  2. 通过其网址|调用removeLinkByUrl($ url)
  3. 如果已添加
  4. 则覆盖文件

    这些功能存在于Mage_Page_Block_Template_Links

    选项1

    removeLinkByUrl()函数需要一个url作为参数,该参数通常由相应扩展中的辅助函数提供。只需抓住它就可以使用

    之类的东西
    <reference name="top.links">
          <action method="removeLinkByUrl"><url helper="customer/getRegisterUrl"/></action>
       </reference>
    

    在上面的情况中,customer是扩展名,而getRegisterUrl是帮助程序类中的函数。

    如果您的分机没有提供任何返回链接的功能,您可以尝试按照

    <reference name="top.links">
       <action method="removeLinkByUrl"><url>ADD_THE_DYNAMIC_LINK_HERE</url></action>
    </reference>
    

    选项2

    如果链接添加了名称,例如

    <reference name="top.links">
       <block type="wishlist/links" name="wishlist_link" />
       <action method="addLinkBlock"><blockName>wishlist_link</blockName></action>
    </reference>
    

    你可以使用

    <reference name="top.links">
       <remove name="wishlist_link"/>
    </reference>
    

    <default>
     <reference name="top.links">
        <block type="wishlist/links" name="wishlist_link"/>
        <action method="removeLinkBlock"><blockName>wishlist_link</blockName></action>
     </reference> 
    </default>
    

    选项3

    如果您的链接未添加名称且硬编码的网址由于某种原因无效,您可以继续将模块layout.xml复制到自定义主题文件夹并删除添加链接的行

答案 5 :(得分:0)

嗨这将从1.9.3

中的top.links中删除购物车和结帐链接
<reference name="top.links"> 
  <action method="removeLinkByUrl">
    <url helper="checkout/url/getCartUrl" />
  </action>
  <action method="removeLinkByUrl">
    <url helper="checkout/url/getCheckoutUrl" />
  </action>
</reference>

基于上面得到的最佳答案,但以防万一有人想删除