Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Artikelanzahl hinter dem Link "Warenkorb" bzw. {#link_cart#} im Menü anzeigen

    simonjunghahn

    • Neu im Forum
    • Beiträge: 7
    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:
    Code: PHP  [Auswählen]
    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:
    Code: PHP  [Auswählen]
        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
    0 Antworten
    1731 Aufrufe
    05. Oktober 2012, 08:13:19 von mutoweb
    3 Antworten
    5306 Aufrufe
    13. Mai 2011, 09:00:31 von Tomcraft
               
    anything