Magento 2 menghapus "Perkiraan biaya pengiriman dan pajak" dari troli

20

Saya ingin menyingkirkan blok "Perkirakan biaya pengiriman dan pajak" di troli. Devdocs memberi tahu Menonaktifkan komponen adalah cara yang harus dilakukan, jadi saya mencoba yang berikut:

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

Tidak berpengaruh. Juga mencoba:

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

Dengan cara ini, total blok saya benar-benar kosong.

Adakah yang punya saran?

Timon de Groot
sumber

Jawaban:

57

Saya pikir Anda mengacaukan beberapa tag penutup / pembuka dan jumlah mereka kode ini berfungsi:

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

Untuk menghapus tajuk juga, timpa templat checkout/cart/shipping.phtmldan komentar / hapus tajuk berikut:

<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>
Corefix
sumber
Memang, saya agak mengacaukan simpul ganda <arguments>. Judul masih muncul, isi dropdown kosong sekarang .. Ada saran untuk benar-benar menghapusnya?
Timon de Groot
Judul ditentukan dalam templat pengiriman troli: /vendor/magento/module-checkout/view/frontend/templates/cart/shipping.phtml Anda dapat memindahkannya ke templat Anda sendiri dan menghapus teks dari sana.
Corefix
1
@TimondeGroot Anda hanya dapat menghapus bagian judul dari file templat, tanpa membuat file layout xml. Dengan cara ini Anda dapat mempertahankan perhitungan pengiriman di blok ringkasan, tetapi menyembunyikan formulir "Perkirakan biaya pengiriman dan pajak".
Andrea
@Andrea Saya tahu, saya mencoba memperbarui anwer ini dengan mengatakan itu, tetapi ditolak ..
Timon de Groot
1
Lucunya, itu tidak menghapus HTML. Hanya ada "tampilan: tidak ada" yang ditambahkan. Solusi nyata yang tepat adalah menulis ulang shipping-estimation.html di Magento_Checkout / js , dan bahkan lebih baik, menulis ulang shipping-estimation.js, untuk menghapus semua yang tidak berguna menggunakan waktu CPU.
Pol Ravalitera
6

Saya juga perlu menyingkirkan "Perkiraan biaya pengiriman dan Pajak" karena konflik dengan modul pembayaran.

Jika satu - satunya tujuan Anda adalah tidak menunjukkan blok , mengapa tidak menggunakan CSS ? Ini bekerja untuk saya:

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

(Versi: Magento 2.2.1)

Sunting: Saya menguji di atas pada 2.3.3 dan juga menghapus sub-total dan total gerobak. CSS di bawah ini hanya akan menyembunyikan taksiran biaya pengiriman dan pajak. Untuk Versi 2.3.3:

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

penyimpanan toko
sumber
Di mana wss cite ini ??
Manish
Cara terbaik adalah dengan menggunakan file CSS kustom yang menimpa kode-css tetapi tidak mengharuskan Anda untuk mengubah kode asli. Ada banyak panduan di luar sana tentang cara melakukan itu.
storepeinture
2
Solusi terbaik dan optimal adalah tata letak. Jika Anda menerapkan tampilan: tidak ada blok masih akan memuat js (menggunakan sumber daya)
Beto Castillo
3

Anda bisa menambahkan yang berikut ini ke checkout_cart_index.xml (dalam tema khusus Anda, bukan inti saja)

<referenceBlock name="checkout.cart.shipping" display="false"/>
pmcain
sumber
1
Ini menghilangkan total juga, jadi tidak cukup untuk melayani
Robert Egginton
1
Harap perhatikan bahwa kode di atas akan menghapus semua total karena bug magento
Scriptman