Magento 2 “Versandkosten und Steuern schätzen” aus dem Warenkorb entfernen


19

Ich möchte den Block "Geschätzte Versandkosten und Steuern" im Warenkorb entfernen. Die Devdocs sagen, dass das Deaktivieren einer Komponente der richtige Weg ist. Deshalb habe ich Folgendes versucht:

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

Keine Wirkung. Auch versucht:

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

Auf diese Weise ist mein Summenblock völlig leer.

Hat jemand Vorschläge?

Antworten:


56

Ich denke, Sie haben einige schließende / öffnende Tags durcheinander gebracht, und wie viele davon funktioniert dieser Code:

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

Um auch die Überschrift zu entfernen, überschreiben Sie die Vorlage checkout/cart/shipping.phtmlund kommentieren / entfernen Sie Folgendes:

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

In der Tat habe ich die doppelten <arguments> -Knoten durcheinander gebracht. Die Überschrift wird immer noch angezeigt, der Inhalt der Dropdown-Liste ist jetzt leer. Gibt es Vorschläge, die Überschrift vollständig zu entfernen?
Timon de Groot

Die Überschrift ist in der Warenkorb-Versandvorlage angegeben: /vendor/magento/module-checkout/view/frontend/templates/cart/shipping.phtml Sie können diese in Ihre eigene Vorlage verschieben und den Text von dort entfernen.
Corefix

1
@TimondeGroot Sie können nur den Titelteil aus der Vorlagendatei entfernen, ohne die Layout-XML-Datei zu erstellen. Auf diese Weise können Sie die Versandkostenberechnung im Zusammenfassungsblock beibehalten, aber das Formular "Versandkosten und Steuern schätzen" ausblenden.
Andrea

@ Andrea Ich weiß, ich habe versucht, diese Antwort zu aktualisieren, aber es wurde verweigert ..
Timon de Groot

1
Das Lustige ist, dass es das HTML nicht entfernt. Es wird nur eine "Anzeige: keine" hinzugefügt. Die richtige Lösung besteht darin, die Datei "shipping-estimatie.html" in "Magento_Checkout / js" umzuschreiben und noch besser "shipping-estimatie.js" umzuschreiben, um all die nicht nützlichen, verbrauchten CPU-Zeiten zu entfernen.
Pol Ravalitera

6

Ich musste auch den "Kostenvoranschlag für Versand und Steuern" wegen eines Konflikts mit einem Zahlungsmodul entfernen.

Wenn Ihr einziges Ziel darin besteht, den Block nicht anzuzeigen , warum nicht CSS verwenden ? Das hat bei mir funktioniert:

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

(Version: Magento 2.2.1)

Bearbeiten: Ich habe das oben auf 2.3.3 getestet und es hat auch die Zwischensumme und die Gesamtsummen der Karren entfernt. Das unten stehende CSS wird nur die geschätzten Versandkosten und Steuern verbergen. Für Version 2.3.3:

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


Wo soll ich dieses CSS finden?
Manish

Am besten verwenden Sie eine benutzerdefinierte CSS-Datei, die den CSS-Code überschreibt, aber keine Änderung des Originalcodes erfordert. Es gibt viele Anleitungen, wie man das macht.
storepeinture

2
Die beste und optimale Lösung wäre der Layout-Weg. Wenn Sie eine Anzeige anwenden: keine, wird der Block immer noch die js laden (mit Ressourcen)
Beto Castillo

3

Sie können einfach Folgendes zu checkout_cart_index.xml hinzufügen (in Ihrem benutzerdefinierten Design, natürlich nicht im Kern)

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

1
Dadurch werden auch die Gesamtsummen entfernt, und es ist nicht fein genug, um zu dienen
Robert Egginton

1
Bitte beachten Sie, dass der obige Code alle Summen aufgrund eines Magento-Fehlers entfernt: github.com/magento/magento2/issues/19347
Scriptman
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.