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"/>

このフィールドが支払いページにどのように追加されるか知っていますか?またはどこから削除できますか?

回答:


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 2018年

そのCSSを@Chiragに入れるファイルは何ですか
補足

@SupplementカスタムグローバルCSSファイルに書き込むことができます。
chirag

これは同じディレクトリ構造のようになりますが、web / css / global.css内にありますか?このトピックについてもう少し詳しく説明してもらえますか?正確なディレクトリ構造のように、名前は「global.css」で、どのディレクトリにも存在しますか?@chirag
補足

1
checkout_cart_index.xmlファイルに<referenceBlock name = "checkout.cart.coupon" remove = "true" />を
追加

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がなくなりました。
Liam Mitchell

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>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.