如何从Magento的顶部链接中删除“Checkout”网址?

时间:2013-04-11 06:26:04

标签: php magento

我正在使用Magento 1.7(最新版本),我想仅从顶部导航链接中删除“Checkout”链接。

我试过了

<remove name="checkout_cart_link" />

但它也删除了购物车链接,我不想删除。

3 个答案:

答案 0 :(得分:10)

旧帖子,但对于其他搜索,您不希望复制和编辑checkout.xml并希望避免添加自定义代码。

要通过local.xml执行此操作,请像提问者一样删除该块,然后重新添加购物车链接(新块的名称略有不同)。

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

相信这篇帖子提出了删除和添加回来的想法:http://www.classyllama.com/development/magento-development/editing-magentos-top-links-the-better-way

答案 1 :(得分:5)

  

直接checkout.xml永不更新,避免对核心文件进行更改

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

评论此代码或移除

<!--<action method="addCheckoutLink">< /action>-->

使用Local.xml

<?xml version="1.0"?>
<layout version="0.1.0">
    <default>
        <reference name="top.links">
          <remove name="checkout_cart_link"/>
            <block type="checkout/links" name="checkout_cart_link_custom">
                <action method="addCartLink"></action>
                <!--<action method="addCheckoutLink"></action>-->
            </block>
        </reference>
    </default>
</layout> 

<?xml version="1.0"?>
 <layout version="0.1.0">
    <default>
    <reference name="top.links">
            <remove name="checkout_cart_link" />
            <block type="checkout/links" name="checkout_cart_link_custom">
                <action method="addCartLink"></action>
            </block>
          </reference>
        </default>
    </layout> 

答案 2 :(得分:0)

顶部链接与其他内容略有不同,而不是每个链接都是可以自行删除的块,有一个名为top.links的父块包含所有链接,在一种情况下您找到一个名为checkout_cart_link的子块,其中包含结帐和购物车的链接。

通过调用布局文件中的块方法将链接添加到top.links中,这是通过许多不同的布局文件完成的。在top.links块上调用的块方法是addLink(),您可以在类Mage_Page_Block_Template_Links中找到此方法。子块checkout_cart_links还定义了另外两个块方法addCartLink()addCheckoutLink(),可以在类Mage_Checkout_Block_Links中找到。

不幸的是,删除已添加的链接是默认情况下您无法从自己的布局文件中执行的一些操作之一,因为没有removeLink()或类似的块方法。这意味着要删除结帐链接,您有几个选择

  • 将您自己的removeCheckoutLink()块方法添加到您创建的块中,并从您自己的布局文件中引用它。这需要反转addCheckoutLink()块方法的作用。请注意,您在自己的模块中定义的local.xml布局文件和布局文件将影响所有核心模块之后的布局,因此您可以确保您的方法在{{1方法

  • 另一个更简单的选项,但保留编辑标准结帐布局文件的选项是将addCheckoutLink()布局文件复制到当前主题布局文件夹中(如果它尚不存在)并删除{{ 1}} checkout.xml块内的动作节点。