Magento 2 usuwa „Szacunkowy koszt wysyłki i podatek” z koszyka

20

Chcę się pozbyć bloku „Szacunkowe koszty wysyłki i podatek” w koszyku. Devdocs informują, że należy wyłączyć komponent , więc spróbowałem:

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

Bez efektu. Próbowałem także:

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

W ten sposób mój blok sum jest całkowicie pusty.

Czy ktoś ma jakieś sugestie?

Timon de Groot
źródło

Odpowiedzi:

57

Myślę, że pomieszałeś kilka tagów zamykających / otwierających i ich ilość działa w tym kodzie:

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

Aby usunąć również nagłówek, zastąp szablon checkout/cart/shipping.phtmli skomentuj / usuń następujące elementy:

<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
źródło
Rzeczywiście, trochę zawiodłem podwójne węzły <arguments>. Nagłówek wciąż się pojawia, zawartość menu jest teraz pusta. Jakieś sugestie, aby go całkowicie usunąć?
Timon de Groot
Nagłówek jest określony w szablonie wysyłki koszyka: /vendor/magento/module-checkout/view/frontend/templates/cart/shipping.phtml Możesz przenieść to do własnego szablonu i usunąć z niego tekst.
Corefix
1
@TimondeGroot Możesz tylko usunąć część tytułową z pliku szablonu, bez tworzenia pliku XML układu. W ten sposób możesz zachować kalkulację wysyłki w bloku podsumowania, ale ukryć formularz „Oszacuj koszty wysyłki i podatek”.
Andrea,
@Andrea Wiem, próbowałem zaktualizować tę odpowiedź, ale to zostało odrzucone ..
Timon de Groot
1
Zabawne jest to, że nie usuwa HTML. Dodano tylko „wyświetlanie: brak” . Prawdziwym właściwym rozwiązaniem jest przepisanie pliku shipping-estymacja.html w Magento_Checkout / js , a jeszcze lepiej, przepisanie shipping-estymacja.js, aby usunąć cały niepotrzebny czas procesora.
Pol Ravalitera
6

Musiałem także pozbyć się „Szacowanych kosztów wysyłki i podatku” z powodu konfliktu z modułem płatności.

Jeśli Twoim jedynym celem jest nie pokazywanie bloku , dlaczego nie użyć CSS ? To działało dla mnie:

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

(Wersja: Magento 2.2.1)

Edycja: Testowałem powyższe na 2.3.3, a także usunąłem sumy częściowe i sumy koszyków. Poniższy CSS ukryje tylko szacunkową wysyłkę i podatek. Dla wersji 2.3.3:

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

skład
źródło
Gdzie zaprosić tego css?
Manish
Najlepszym sposobem jest użycie niestandardowego pliku CSS, który zastępuje kod css, ale nie wymaga zmiany oryginalnego kodu. Istnieje wiele wskazówek, jak to zrobić.
storepeinture
2
Najlepszym i optymalnym rozwiązaniem byłby układ. Jeśli zastosujesz wyświetlacz: żaden blok nadal nie będzie ładował pliku js (z wykorzystaniem zasobów)
Beto Castillo
3

Możesz po prostu dodać następujące elementy do checkout_cart_index.xml (w niestandardowym motywie, nie oczywiście w centrum)

<referenceBlock name="checkout.cart.shipping" display="false"/>
pmccain
źródło
1
Usuwa to również sumy, więc nie jest wystarczająco drobnoziarnisty, aby podawać
Robert Egginton
1
Pamiętaj, że powyższy kod usunie wszystkie sumy z powodu błędu Magento: github.com/magento/magento2/issues/19347
Scriptman