Magento 2从购物车中删除“运费和税费”


20

我想摆脱购物车中的“估计运费和税费”栏。devdocs告诉我们禁用组件是一种方法,因此我尝试了以下方法:

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

这样,我的总计块完全空白。

有人有建议吗?

Answers:


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>节点。虽然标题仍然显示,但下拉菜单的内容现在为空。.是否有完全删除建议?
Timon de Groot

标题在购物车运输模板中指定:/vendor/magento/module-checkout/view/frontend/templates/cart/shipping.phtml您可以将其移动到自己的模板中,然后从中删除文本。
Corefix

1
@TimondeGroot您只能从模板文件中删除标题部分,而无需创建布局xml文件。这样,您可以将运输计算保留在摘要框中,但隐藏“估算运输成本和税费”表格。
安德里亚(Andrea)

@Andrea我知道,我试图更新这个前面回答,告诉,但它得到了否认...
蒂莫德格鲁特

1
有趣的是,它不会删除HTML。仅添加了一个“ display:none”真正合适的解决方案是重写Magento_Checkout / js中的shipping-estimation.html,甚至更好的办法是重写shipping-estimation.js,以消除所有不可用的CPU时间。
Pol 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?
Manish

最好的方法是使用覆盖CSS代码的自定义CSS文件,但不需要您更改原始代码。关于如何执行此操作的指南很多。
storepeinture

2
最佳和最佳解决方案是布局方式。如果您应用display:none,则该块仍将加载js(使用资源)
Beto Castillo

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.