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?

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>

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


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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.