Magento 2, "Nakliye masraflarını ve vergiyi tahmin et" seçeneğini sepetten kaldır


20

Alışveriş sepetindeki "Gönderim maliyetlerini ve vergileri tahmin et" blokundan kurtulmak istiyorum. Devdocs bir bileşeni devre dışı bırakmanın yol olduğunu söyler, bu yüzden aşağıdakileri denedim:

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

Etkisi yok. Ayrıca denedi:

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

Bu şekilde, toplam bloğum tamamen boş.

Önerisi olan var mı?

Yanıtlar:


58

Sanırım bazı kapanış / açılış etiketleri berbat ve bunların miktarı bu kod çalışır:

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

Başlığı da kaldırmak için şablonu geçersiz kılın checkout/cart/shipping.phtmlve aşağıdakileri yorumlayın / kaldırın:

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

Gerçekten de, çift <arguments> düğümlerini berbat ettim. Başlık yine de görünüyor, açılır listenin içeriği şimdi boş .. Tamamen kaldırmak için herhangi bir öneriniz var mı?
Timon de Groot

Başlık, sepet gönderim şablonunda belirtilir: /vendor/magento/module-checkout/view/frontend/templates/cart/shipping.phtml Bunu kendi şablonunuza taşıyabilir ve metni oradan kaldırabilirsiniz.
Corefix

1
@TimondeGroot Düzen xml dosyasını oluşturmadan yalnızca başlık kısmını şablon dosyasından kaldırabilirsiniz. Bu şekilde gönderim hesabını özet bloğunda koruyabilir, ancak "Gönderim maliyetlerini ve Vergilerini Tahmin Et" formunu gizleyebilirsiniz.
Andrea

@Andrea biliyorum, bunu söyleyerek bu anwer güncellemeye çalıştım, ama reddedildi ..
Timon de Groot

1
Komik olan şey HTML'yi kaldırmamasıdır. Sadece bir "display: none" eklendi. Gerçek uygun çözüm, Magento_Checkout / js içindeki shipping-estimation.html'yi ve daha da iyisi, kullanılmış CPU zamanını kaldırmak için shipping-estimation.js'yi yeniden yazmaktır .
Pol Ravalitera

6

Ayrıca, bir ödeme modülüyle çakışma nedeniyle "Nakliye Maliyetlerini ve Vergileri Tahmin Et" ten kurtulmam gerekiyordu.

Sizin ise sadece objektif olmaktır bloğu göstermez , neden kullanmak CSS ? Bu benim için çalıştı:

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

(Sürüm: Magento 2.2.1)

Düzenleme: Yukarıda 2.3.3 üzerinde test ve aynı zamanda arabaları alt toplam ve toplamları kaldırdı. Aşağıdaki CSS, yalnızca tahmini gönderim ve vergiyi gizleyecektir. Sürüm 2.3.3 için:

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


Nerede bu css wite ??
Manish

En iyi yol, css kodunu geçersiz kılan ancak orijinal kodu değiştirmenizi gerektirmeyen özel bir CSS dosyası kullanmaktır. Bunun nasıl yapılacağı konusunda birçok rehber var.
storepeinture

2
En iyi ve en uygun çözüm, düzen yolu olacaktır. Bir ekran uygularsanız: hiçbiri hala js'yi yükleyecektir (kaynakları kullanarak)
Beto Castillo

3

Sadece checkout_cart_index.xml dosyasına ekleyebilirsiniz (özel temanızda, elbette çekirdek değil)

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

1
Bu, toplamları da kaldırır, bu nedenle hizmet verecek kadar ince taneli değildir
Robert Egginton

1
Yukarıdaki kodun bir magento hatası nedeniyle tüm toplamları kaldıracağını lütfen unutmayın: github.com/magento/magento2/issues/19347
Scriptman
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.