Magento 2はカートから「配送料と税金の見積もり」を削除します


20

カートの「配送料と税金の見積もり」ブロックを取り除きたい。開発者は、コンポーネントを無効にすることが道であると言っているので、次のことを試しました。

<body>
    <referenceBlock name="checkout.cart.shipping">
        <arguments>
            <argument name="jsLayout" xsi:type="array">
                <item name="components" xsi:type="array">
                    <item name="block-summary" xsi:type="array">

                        <!-- My custom part: -->
                        <item name="config" xsi:type="array">
                            <item name="componentDisabled" xsi:type="boolean">true</item>
                        </item>

                    </item>
                </item>
            </argument>
        </arguments>
    </referenceBlock>
</body>

無効。また試してみました:

<referenceBlock name="checkout.cart.shipping" remove="true"/>

このように、合計ブロックは完全に空です。

誰か提案がありますか?

回答:


57

あなたはいくつかの終了/開始タグとこのコードが機能するそれらの量を台無しにしたと思います:

<referenceBlock name="checkout.cart.shipping">
    <arguments>
        <argument name="jsLayout" xsi:type="array">
            <item name="components" xsi:type="array">
                <item name="block-summary" xsi:type="array">

                    <!-- My custom part: -->
                    <item name="config" xsi:type="array">
                        <item name="componentDisabled" xsi:type="boolean">true</item>
                    </item>

                </item>
            </item>
        </argument>
    </arguments>
</referenceBlock>

見出しも削除するには、テンプレートcheckout/cart/shipping.phtmlをオーバーライドし、次をコメント/削除します。

<div class="title" data-role="title">
    <strong id="block-shipping-heading" role="heading" aria-level="2">
        <?php /* @escapeNotVerified */ echo $block->getQuote()->isVirtual() ? __('Estimate Tax') : __('Estimate Shipping and Tax') ?>
    </strong>
</div>

実際、二重の<arguments>ノードをめちゃくちゃにしました。それでも見出しは表示されますが、ドロップダウンの内容は空です。完全に削除する提案はありますか?
ティモンドグルート

見出しはカート配送テンプレートで指定されます:/vendor/magento/module-checkout/view/frontend/templates/cart/shipping.phtmlこれを独自のテンプレートに移動して、そこからテキストを削除できます。
Corefix

1
@TimondeGrootレイアウトxmlファイルを作成せずに、テンプレートファイルからタイトル部分のみを削除できます。このようにして、サマリーブロックで送料計算を保持できますが、「送料と税の見積もり」フォームを非表示にできます。
アンドレア

@Andrea私は知っている、私はそれを言ってこのanwerを更新しようとしたが、それは拒否された..
Timon de Groot

1
面白いのは、HTMLが削除されないことです。ただそこにある「表示:なし」追加されません。実際の適切な解決策は、Magento_Checkout / jsでshipping-estimation.htmlを書き換え、さらに良いことに、shipping-estimation.jsを書き換えて、役に立たないCPU時間をすべて削除することです。
ポルRavalitera

6

また、支払いモジュールとの競合のため、「配送料と税金の見積もり」を削除する必要がありました。

あなたの唯一の目的ブロックを表示ないことである場合、CSSを使用してみませんか?これは私のために働いた:

.cart-container .cart-summary #block-shipping {
    display: none;
}

(バージョン:Magento 2.2.1)

編集:2.3.3で上記をテストし、カートの小計と合計も削除しました。以下のCSSは、配送料と税金の見積もりの​​みを非表示にします。バージョン2.3.3の場合:

.checkout-cart-index#block-shipping {display:none; }


このCSSをどこで書きますか?
マニッシュ

最良の方法は、css-codeをオーバーライドするカスタムCSSファイルを使用することですが、元のコードを変更する必要はありません。その方法については、多くのガイドがあります。
storepeinture

2
最善かつ最適なソリューションは、レイアウト方法です。display:noneを適用すると、ブロックは引き続きjsをロードします(リソースを使用)
Beto Castillo

3

以下をcheckout_cart_index.xmlに追加するだけです(もちろんコアではなく、カスタムテーマで)。

<referenceBlock name="checkout.cart.shipping" display="false"/>

1
これにより合計も削除されるため、十分な粒度でサービスを提供できません
ロバートエギントン

1
上記のコードは、magentoのバグによりすべての合計を削除することに注意してください:github.com/magento/magento2/issues/19347
Scriptman
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.