Gerade bei übersichtlichen modernen Shop-Layouts bleibt oft kein Platz zur Anzeige des Warenkorbs etwa in einem Sidebar. Um den User nicht zu verwirren, ist es aber immer sinnvoll, den aktuellen Stand des Warenkorbs irgendwo anzuzeigen. Mit der hier gezeigten schnellen Lösung für Magento wird die aktuelle Warenkorb-Gesamtsumme zum Beispiel im Header angezeigt.
Eine wirklich saubere Lösung würde natürlich einen Block mit eigenem Template definieren und ihn per XML in das Layout einfügen. Der folgende Code ist eher eine quick and dirty-Lösung: Hier wird der Code einfach in ein bestehendes Template eingefügt.
Dazu einfach folgenden Code in die Datei
/app/design/frontend/mypackage/mytheme/template/page/html/header.phtml
an die gewünschte Stelle einfügen.
<div> <?php $count = $this->helper('checkout/cart')->getSummaryCount(); $total = $this->helper('checkout/cart')->getQuote()->getGrandTotal(); if ($count > 0) { echo $this->__('Sie haben %s Artikel ',$count); echo $this->__(' für insgesamt %s ', $this->helper('core')->formatPrice($total, false)); echo 'im Warenkorb'; } else { echo 'Ihr Warenkorb ist leer.'; } ?> </div>
Dass die Gestaltung des Outputs — also von allem, was innerhalb der if-Bedingung geschieht — beliebig angepasst werden kann, dürfte klar sein.
Und klar sein dürfte auch, dass dies nicht unbedingt im Header landen muss. Wer die Warenkorb-Summen irgendwo anders entsprechend anzeigen will, kann das wie hier in den jeweiligen Templates machen.
Das ganze ist so schlicht und simpel, dass mir die Lösung über einen eigenen Block zu aufwändig erscheint. Manchmal ist die schlichtere, schnelle Lösung vielleicht doch die angemessenere.