In der Navigationsleiste soll bei xt-commerce hinter "Warenkorb" immer die aktuelle Artikelanzahl angezeigt werden.
Folgendes habe ich bereits gefunden, und zwar hier:
http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte
Forenregeln beachten! ))/forum/shopbereich/72173-anzeige-der-artikelanzahl-im-warenkorb.html
- Das Modul ist {$cart_item_count}
- Dieses wird auf der templates/MEIN_TEMPLATE/index.html an passender Stelle eingefügt
- Damit dieses auf jeder Seite aufgerufen wird, muss in der includes/header.php folgender Code eingefügt werden:
Der Code:
if (isset($_SESSION['cart']))if (count($_SESSION['cart']->contents) > 0)$smarty->assign('cart_item_count', $_SESSION['cart']->count_contents()); Das Problem daran ist aber, dass keine Zahl angezeigt wird, wenn a) kein Artikel im Warenkorb ist oder b) der Benutzer neu auf die Seite kommt und noch keine Cookies gespeichert hat. Dann wird statt "Warenkorb (1)" oder "Warenkorb (0)" das hier angezeigt: "Warenkorb ()".
Lösung:
Im php-Code löscht man die interne if-Abfrage einfach weg, so dass dann übrib bleibt:
if (isset($_SESSION['cart'])) { $smarty->assign('cart_item_count', $_SESSION['cart']->count_contents()); } Auf diese Weise wird von Anfang an immer die Null angezeigt.
Ein weiteres Problem bestand darin, dass die Variable {$box_ACCOUNT} immer "Ihr Konto | Warenkorb | Kasse" ausgibt. Stellt man den Code auf der index.html also so: {$box_ACCOUNT} {$cart_item_count} zusammen, erhält man "Ihr Konto | Warenkorb | Kasse (1)".
Um eine Ausgabe der Form "Ihr Konto | Warenkorb (1) | Kasse" zu erhalten, habe ich eine neue Box "{$box_ACCOUNT2} angelegt, die nur den Code für "Kasse" erhält, in {$box_ACCOUNT} habe ich dafür den Code-Teil für "Kasse" weggelöscht.
(in der /templates/MEIN_TEMPLATE/boxes/box_account.html)
Nun sieht mein Code auf der index.html wie folgt aus:
{$box_ACCOUNT} {$cart_item_count} {$box_ACCOUNT2}.
Damit funktioniert alles bestens.
Ich denke, das ist eine sehr schöne Erweiterung der Funktionalität, da es dem Kunden/der Kundin einen sehr guten Überblick gibt und auch sofort eine Bestätigung zurück gibt wenn er/sie einen Artikel in den Warenkorb gelegt hat.
Allerdings könnte man das "Modul" noch verbessern.
Ich denke, es wäre besser, wenn
- man die {$cart_item_count} direkt in der box_account.html an passender Stelle einbauen könnte. Sie wird aber zur Zeit dort nicht ausgeführt.
- Es könnte auch gewünscht sein, dass ein neuer Kunde nur "Warenkorb" sieht, ohne die "(0)".
- Dafür bräuchte man vermutlich eine if-Abfrage, die " (ZAHL) " ausgibt, wenn ein Artikel im Warenkorb ist oder der Inhalt des Warenkorbs auf Null reduziert wurde. Ansonsten sollte nichts ausgegeben werden.
Im Augenblick ist das noch nicht möglich, da man, wenn keine Zahl ausgegeben wird, immer noch die Abstände (nbsp;) und die Klammern ( ) angezeigt bekommt.
Ich kann das leider nicht programmieren, da mir dazu die Kenntnisse fehlen.
Durch Suchen bei Google lässt sich leider auch nichts dazu finden, ich habe lange gesucht.
Um XT-Commerce weiterhin zu verbessern, denke ich, wäre es gut, diese Veränderung als echtes Modul anzubieten, so dass es viele Leute finden können.
Ich würde mich über eine Fortführung des Themas sehr freuen!
Mit herzlichen Grüßen
Linkback: https://www.modified-shop.org/forum/index.php?topic=25820.0