如何在结帐Magento上隐藏自定义块

时间:2014-12-25 17:05:32

标签: magento block checkout

我需要在所有结帐(一页和购物车)上隐藏自定义功能块。

我应该如何编辑checkout.xml来隐藏它?

我尝试了<remove name="footer_newsletter"/>,但它不起作用。奇怪的是,如果我把<remove name="footer" />所有页脚都隐藏起来。

问题出在哪里?在块部分,ID和名称是footer_newsletter,所以没有错。

3 个答案:

答案 0 :(得分:1)

首先删除您在checkout.xml上为Add theme.xml添加的更改到主题布局文件夹。 例如,在默认的magento主题中,它将位于app / design / frontend / default / default / layout

在主题的布局文件夹中添加local.xml。在这个local.xml中写下面的代码:

<?xml version="1.0"?>
<layout version="0.1.0">
     <checkout_cart_index>
         <reference name="footer">
              <remove name="footer_newsletter"/>
         </reference>
     </checkout_cart_index>
     <checkout_onepage_index>
         <reference name="footer">
              <remove name="footer_newsletter"/>
         </reference>
     </checkout_onepage_index>
</layout>
调用所有设计xml文件后,

local.xml在最后一次运行。因此它将覆盖任何xml中所做的任何更改。

答案 1 :(得分:0)

尝试在checkout.xml中将要隐藏的块放在Comment中。

答案 2 :(得分:0)

你也可以在local.xml中尝试这样的事情:

<your_desired_handle><!-- replace handle here -->
    <reference name="parent_block_of_footer_newsletter"> <!-- replace with the name of the parent block that contains your footer_newsletter block -->
        <action method="unsetChild"><alias>alias_of_footer_newsletter_block</alias></action> <!-- replace the alias with the value of "as" attribute of your footer_newsletter block, or it's name if it does not have an "as" attribute -->
    </reference>
</your_desired_handle>