如何在Magento 2中隐藏“折扣代码”表单结帐付款页面?


10

我试图从中隐藏折扣代码字段checkout payment page,但是我在xml文件中找不到任何内容。

对于cart page,我在checkout_cart_index.xml中找到了该字段,并且能够像这样隐藏:

 <block class="Magento\Checkout\Block\Cart\Coupon" name="checkout.cart.coupon" as="coupon" template="cart/coupon.phtml"/>
                            <referenceBlock name="checkout.cart.coupon" remove="true"/>

有人知道该字段在付款页面上的添加方式吗?或从哪里可以删除?

Answers:


15

在CSS下面使用以隐藏折扣块。

.checkout-index-index .payment-option._collapsible.opc-payment-additional.discount-code {
    display: none;
}

编辑

app/code/vendor/Module/view/frontend/layout/checkout_index_index.xml

要么

app/design/frontend/Vendor/theme/Magento_Checkout/layout/checkout_index_index.xml

您还可以使用“ checkout_index_index.xml ” 删除折扣块

@Prashant也是正确的;

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
    <referenceBlock name="checkout.root">
        <arguments>
            <argument name="jsLayout" xsi:type="array">
                <item name="components" xsi:type="array">
                    <item name="checkout" xsi:type="array">
                        <item name="children" xsi:type="array">
                            <item name="steps" xsi:type="array">
                                <item name="children" xsi:type="array">
                                    <item name="billing-step" xsi:type="array">
                                        <item name="children" xsi:type="array">
                                            <item name="payment" xsi:type="array">
                                                <item name="children" xsi:type="array">
                                                    <item name="afterMethods" xsi:type="array">
                                                        <item name="children" xsi:type="array">        
                                                            <item name="discount" xsi:type="array">
                                                                <item name="config" xsi:type="array">
                                                                    <item name="componentDisabled" xsi:type="boolean">true</item>
                                                                </item>
                                                            </item>
                                                        </item>
                                                    </item>
                                                </item>
                                            </item>
                                        </item>
                                    </item>
                                </item>
                            </item>
                        </item>
                    </item>
                </item>
            </argument>
        </arguments>
    </referenceBlock>
</body>


很高兴我发现了这一点-我的同事显然是用它来隐藏田野的,现在我必须重新启用它:-)
Andreas von Studnitz

您将CSS放在@Chirag中的哪个文件
增刊

@补充您可以编写自定义的全局CSS文件。
希拉格

所以这就像在相同的目录结构中,但在web / css / global.css中吗?您能详细说明一下此主题吗?。例如确切的目录结构,并且该名称只是位于任何目录中的“ global.css”吗?@chirag
增刊

1
在checkout_cart_index.xml文件中添加<referenceBlock name =“ checkout.cart.coupon” remove =“ true” />
chirag,

7

checkout_index_index.xml在您的自定义模块中添加app/code/vendor/Module/view/frontend/layout/checkout_index_index.xml

向其添加以下代码。

<?xml version="1.0"?>
<!--
/**
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="checkout.root">
            <arguments>
                <argument name="jsLayout" xsi:type="array">
                    <item name="components" xsi:type="array">
                        <item name="checkout" xsi:type="array">
                            <item name="children" xsi:type="array">
                                <item name="steps" xsi:type="array">
                                    <item name="children" xsi:type="array">
                                        <item name="billing-step" xsi:type="array">
                                            <item name="children" xsi:type="array">
                                                <item name="payment" xsi:type="array">
                                                    <item name="children" xsi:type="array">
                                                        <item name="afterMethods" xsi:type="array">
                                                            <item name="children" xsi:type="array">        
                                                                <item name="discount" xsi:type="array">
                                                                    <item name="config" xsi:type="array">
                                                                        <item name="componentDisabled" xsi:type="boolean">true</item>
                                                                    </item>
                                                                </item>
                                                            </item>
                                                        </item>
                                                    </item>
                                                </item>
                                            </item>
                                        </item>
                                    </item>
                                </item>
                            </item>
                        </item>
                    </item>
                </argument>
            </arguments>
        </referenceBlock>
    </body>
</page>

在上面的代码中,您可以通过以下代码找到以下代码,我已删除项目折扣:

<item name="discount" xsi:type="array">
    <item name="config" xsi:type="array">
        <item name="componentDisabled" xsi:type="boolean">true</item>
    </item>
</item>

另请参阅更多信息


1
请注意,如果您不想创建模块,则可以将其放在主题的default.xml中。
PedroKTFC,

1

覆盖checkout_cart_index.xml文件

最后一行删除优惠券代码块

从app / design / frontend / V / T / Magento_checkout / layout / checkout_cart_index.xml移动

    <?xml version="1.0"?>
    <page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
        <body>
            .....
            .....
        <referenceBlock name="checkout.cart.coupon" remove="true"/>



        </body>
    </page>

0

在主题的local.xml中,添加以下代码

<?xml version="1.0" encoding="UTF-8" ?>
<layout>
    <checkout_cart_index>
        <reference name="content">
            <remove name="checkout.cart.coupon"/>
        </reference>
    </checkout_cart_index>
</layout>

它将删除折扣券。


用于结帐付款页面?我认为这是购物车页面,无结帐付款页面
Alin Lupoiu

1
主题不再具有local.xml。
利亚姆·米切尔

0

这样的操作也会从结帐页面中删除“ 礼品卡选项”。通常,它显示在折扣券部分下方。

app / design / frontend / Company / theme / Magento_GiftCardAccount / layout / checkout_index_index.xml

<?xml version="1.0"?><page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
    <referenceBlock name="checkout.root">
        <arguments>
            <argument name="jsLayout" xsi:type="array">
                <item name="components" xsi:type="array">
                    <item name="checkout" xsi:type="array">
                        <item name="children" xsi:type="array">
                            <item name="steps" xsi:type="array">
                                <item name="children" xsi:type="array">
                                    <item name="billing-step" xsi:type="array">
                                        <item name="children" xsi:type="array">
                                            <item name="payment" xsi:type="array">
                                                <item name="children" xsi:type="array">
                                                    <item name="afterMethods" xsi:type="array">
                                                        <item name="children" xsi:type="array">        
                                                            <item name="giftCardAccount" xsi:type="array">
                                                                <item name="config" xsi:type="array">
                                                                    <item name="componentDisabled" xsi:type="boolean">true</item>
                                                                </item>
                                                            </item>
                                                        </item>
                                                    </item>
                                                </item>
                                            </item>
                                        </item>
                                    </item>
                                </item>
                            </item>
                        </item>
                    </item>
                </item>
            </argument>
        </arguments>
    </referenceBlock>
</body>

这个非常重要

<item name="children" xsi:type="array">
  <item name="giftCardAccount" xsi:type="array">
    <item name="config" xsi:type="array">
      <item name="componentDisabled" xsi:type="boolean">true</item>
    </item>
  </item>
</item>

如何从购物车页面删除优惠券代码块?
Nagaraju K

0

将名为“ theme.xml”的文件添加到app / design / frontend / Vendor / theme /并添加以下文本:

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <css src="css/style.css"/>
    </head>
    <body>
        <referenceBlock name="checkout.cart.coupon" remove="true" />
    </body>
</page>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.