Ich versuche, die Gesamtzahl der Warenkörbe in minicart.phtml zu ermitteln, habe aber kein Glück. Ich injiziere Magento \ Checkout \ Model \ Cart.
Hier ist mein Code:
$this->cart = $cart;
$cartQuote= $this->cart->getQuote()->getData();
echo $cartQuote['base_grand_total'];
Nachdem ich diesen Code ausgeführt habe, bricht der Minicart und verschwindet vollständig aus dem Frontend.
Vielen Dank!
Antworten:
Diese folgende Zeile funktioniert in allen Fällen, wenn der Cache aktiviert ist.
Für den Wert der Gesamtsumme, Versandkosten,
Sie können die Gesamt-, Zwischensummen- und Versandkosten für das aktuelle Angebot mit dem folgenden Code in der Datei minicart.phtml abrufen. Wenn der Cache zu diesem Zeitpunkt aktiviert ist, aktualisieren Sie den Preis nicht, wenn Sie ein neues Produkt mit der folgenden Methode hinzufügen.
quelle
Wir hatten eine ähnliche Frage von einem Kunden. wo er "[Menge] Artikel [Zwischensumme]" in einem gestalteten Warenkorbblock anstelle des Standard-Warenkorbsymbols im Minicart anzeigen wollte.
Wir haben diese Frage hier gefunden, aber die Antwort, bei der wir die
\Magento\Checkout\CustomerData\Cart
Klasse erweitern mussten, um etwas HTML korrekt zu rendern, hat uns nicht gefallenDies ist der Code, wie wir ihn in der Vorlage behoben haben:
Es scheint, als könnten Sie auch die Standard-Datenbindung von knockout.js verwenden und müssen nicht die verrückte Magento 2-Knockout-Kommentarmethode verwenden. Dies löste das Problem beim Rendern
getCartParam('subtotal')
mit der HTML-Methode, bei der normalerweise die Zwischensumme aufgrund des<span ="price"></span>
Tags falsch gedruckt wurdequelle
Dieser obige Code funktioniert beim Laden der Seite, funktioniert jedoch nicht mit magento2 ajax add to cart, da jetzt Knockout JS verwendet wird.
Dafür sollten Sie verwenden -
Hier habe ich einen neuen Wagen param „hinzugefügt subtotal_value “ als „ Zwischensumme “ kehrt der Preisspanne Behälter und es wird als TEXT mit KO angezeigt werden soll . Hier müssen Sie " Object Manager Instance " direkt verwenden, da Sie keine Abhängigkeiten in das " __construct " einfügen können .
HINWEIS: Es gibt nur wenige Ausnahmen, in denen wir möglicherweise " Object Manager-Instanz " direkt verwenden müssen. In unserem Fall ist es die Abwärtskompatibilität des Konstruktors.
ObjectManager-Ausnahme
Kopieren Sie als Nächstes das Magento-Standarddesign " /cart/minicart.phtml " in Ihr Design und fügen Sie die KO-Codes hinzu.
ko text: getCartParam ('subtotal_value')
quelle
Definieren Sie in Ihrem Layout einen Block, in dessen Klasse "Magento \ Checkout \ Block \ Cart \ Totals" markiert ist.
Dann können Sie in .phtml den folgenden Code haben
Erwartete Ausgabe
quelle