Samstag, 16. Juni 2007 Druck-Ansicht
Die Kategorien-Navigation von xt:Commerce ist nicht sonderlich flexibel. Probleme, über die ich immer wieder gestolpert bin: Es gibt keine Möglichkeit zu bestimmen, wie “weit” die Kategorien-Navigation “ausgeklappt” sein soll, es gibt keine Möglichkeit, leere Shop-Kategorien automatisch auszublenden, die HTML-Ausgabe ist ebenfalls eher scheußlich …
Insgesamt gibt’s also so einige Funktionen (besser: “fehlen so einige Funktionen), die sicherlich auch viele andere xt:Commerce User genau so schmerzlich vermisst haben wie ich. Ein paar dieser Probleme dürften mit meiner Lösung behoben sein:
Dateien-Set für xt:Commerce 3.04 SP1 und SP2.2 zum » kostenlosen Download
Vorliegend als reine Template-Lösung für eine flexiblere Shop-Gestaltung mit einer verbesserten Kategorien-Navigation.
Kurzinfo
- Wie man seine Shop-Kategorien als eine für CSS-Design taugliche Liste ausgeben kann, habe ich vor einiger Zeit in diesem Artikel beschrieben.
Eine “hierarchische” Variante kam bald darauf von Matt Slovig - Und auch Björn Teßmann der u.a. das YAML-Framework für xt:Commerce umgesetzt hat, hat eine “xtc_show_category.inc.php” entwickelt, die eine saubere HTML-Ausgabe in Form einer “echten” Liste (mit “Unterlistenpunkten”) ermöglicht.
An dieser Stelle nochmals vielen Dank an Björn für die Datei und die nette E-Mail. Wegen der im Folgenden beschriebenen erweiterten Funktionen konnte ich sie zwar nicht als “Spickzettel” benutzen, aber ich freue mich immer über Tipps und Anregungen.
Wie dem auch sei: Auf vielfachen Wunsch hin hab ich jetzt ebenfalls eine hierarchische Liste zurechtgebastelt. Sogar mit ordentlich eingerücktem Quellcode.
Aktive Kategorien bekommen (in Anlehnung an WordPress) die Klasse “Current” - und ihre Oberkategorien heißen “CurrentParent”. Kategorien, die weitere Unterkategorien enthalten, werden mit der zusätzlichen Klasse “SubMenue” markiert. Was geblieben ist, sind die Ebenen abhängigen Klassen “CatLevel1″ bis “CatLevel5″.
» Damit dürfte eine ansprechende Gestaltung per CSS deutlich einfacher geworden sein.
Kurzinfo
- Einstellbar über die Variable $MaxLevel
- Mögliche Werte: Bei false werden alle Kategorien angezeigt. Wird eine Zahl (beispielsweise 3) angegeben, ist die Navigation nur bis zur dritten Ebene ausgeklappt.
xt:Commerce zeigt standardmäßig nur die Unterkategorien gewählter Kategorien an. Auf der Startseite wird entsprechend auch nur die “gröbste” Unterteilung ausgegeben. Manche Shops haben tatsächlich nur drei oder vier Hauptkategorien. Und so werden auf der Startseite auch nur drei oder vier Links zu Artikelübersichten gezeigt.
Natürlich sollte man sein Menü nicht “überfrachten” - und eine ewig lange Navigation wird auch allzu leicht unübersichtlich. Aber was auf der Startseite nicht gleich als Link existiert, wird von Suchmaschinen oftmals nicht so gut “verfolgt”.
Das ist natürlich schade, weil ja insbesondere die Kategorien-Links zu vielen “kaufbaren” Produkten verweisen … Da darf man den Suchmaschinen ruhig ein bisschen mehr zu lesen geben.
Um deshalb also auch die Unterkategorien “nicht aktiver” Artikelgruppen auflisten zu können, habe ich die xt:Commerce “xtc_show_category.inc.php” erneut bearbeitet. Mit OpenCats für xt:Commerce werden alle im Shop vorhandenen Kategorien angezeigt. Für den Fall, dass die Navigation dadurch zu lang wird, kann man die “Ebenen-Tiefe” mit einigen in der Anleitung näher beschrieben Änderungen recht leicht beschränken.
» Diese Funktion liegt jetzt in verbesserter Form vor.
Kurzinfo
- Einstellbar über die Variable $ShowAktSub
- Mögliche Werte: true oder false
Ein Problem kann auftauchen, wenn man (siehe 2) eine “maximale Ebenen-Tiefe” festgelegt hat. Denn zeigt man z.B. alles bis zur Ebene 3, gelangt man - zumindest “über die linke Spalte” nicht mehr “tiefer” in den Shop.
Das kann durchaus gewünscht sein. Aktuell arbeite ich an einem Shop mit drei Kategorien-Ebenen, die ersten beiden werden über die linke Spalte angewählt, alle “tieferen” sind dann über den Content-Bereich zugänglich. Mit schönen Category-Images und einer solchen Bedienerführung kann man sicherlich den ein oder anderen Besucher, der sonst nur “zack-zack” durchgeklickt hätte, “zum Stöbern” bringen.
Aber gut - Jeder Shop ist anders und jeder Shop hat eine andere Zielgruppe.
Mit “gunnART Advanced Show Category” kann jetzt beispielsweise auch festgelegt werden, immer die ersten beiden Ebenen anzuzeigen - und weitere Ebenen werden erst dann aufgeklappt, wenn eine “Unter-Kategorie” gewählt wurde.
» So kann man “festgelegtes” und “automatisches Aufklappen” ganz nach Wunsch miteinander kombinieren.
Kurzinfo
- Einstellbar über die Variable $HideEmpty
- Mögliche Werte: true bzw. false
Weder Shops noch andere Websites sammeln Pluspunkte mit Verlinkungen, die ins Leere führen. Und da xt:Commerce auch Kategorien ohne Artikel anzeigt, passiert es leider in vielen Shops, dass man freudig auf eine interessante Produktgruppe klickt - und mit einer “nicht gefunden”-Meldung verärgert wird: Ich habe schon einige Online-Shops wieder weggeklickt, weil mir die ganzen “Fehlversuche” einfach zu blöd waren.
Man kann seinen Besuchern zwar gleich anzeigen, “wo es nichts zu holen gibt”, indem man die Anzahl der in jeder Kategorie enthaltenen Produkte neben dem Link ausgibt. Aber gleich gar kein Link anstatt einer Null in Klammern wäre deutlich eleganter.
Außerdem kann ich mir vorstellen, dass sich einige Suchmaschinen auch nicht so sehr darüber freuen, eine Shop mit zig Links durchzuspidern, die allesamt auf ein und dieselbe “nicht gefunden”-Seite verweisen.
Andererseits - Ansichtssache: Wenn man beispielsweise hauptsächlich Blumentöpfe verkauft - und momentan nur noch Wischmops im Lager sind … wäre es unter Umständen gar nicht verkehrt, seine “leergekaufte” Kategorie weiterhin anzuzeigen. Denn die “Blumentopf-Interessenten” finden zwar keine Blumentöpfe, wissen aber wenigstens bescheid, dass es hier normalerweise welche zu kaufen gibt.
“Ausverkaufte” Produkte müssen übrigens nicht zwangsläufig aus dem Shop verschwinden, sondern können mit einem entsprechenden Hinweis weiterhin angezeigt werden. Dann gibt’s auch keine Probleme mit leeren Kategorien …
» Mit gunnART Advanced Show Category” kann man die Anzeige leerer Kategorien jederzeit ein- oder ausschalten.
Okay. Ich wünsche wieder viel Spaß beim Ein-, Aus- und Umbau. Weitere Vorschläge und Feedback sind immer willkommen.
Auf eine Nachfage per E-Mail: Mit Show Category Advanced kann man selbstverständlich auch die “normale Verhaltensweise” der xt:Commerce Kategorien-Navigation wieder herstellen. Die Einstellung hierfür ist folgende:
In der Detail-Ansicht von Produkten war der “aktive Kategorien-Pfad” nicht bekannt - so dass sich die Navigation (je nach Einstellung) dann wieder “eingeklappt” hat. Ursache war, dass sich Funktion den “Kategorien-Pfad” aus $HTTP_GET_VARS['cPath'] und nicht aus $GLOBALS['cPath'] geholt hat. Die GET-Variablen geben nur einen Pfad zurück, wenn man sich in einer Kategorien-Übersicht befindet. Die GLOBALS hingegen “wissen” den aktuellen Pfad auch noch in den Produktdetails.
Vielen Dank an Sandi für den Hinweis
Die “Blättern”-Links in den Produkt-Auflistungen führen wieder zur Startseite - Jedenfalls, sofern die ShopStat-Erweiterung nicht installiert ist. Kürzlich konnte ich an einem nicht modifizierten System testen - und da bin ich ebenfalls über diesen Fehler gestolpert. Mit der Version 0.3 sollte alles wie gewohnt funktionieren.
Vielen Dank an Krischan für den Hinweis
1. Mai 2008:
Beschreibung, Anleitung und Download-Link finden Sie
» in diesem Beitrag
Das angebotene Dateien-Set ist mit xt:Commerce 3.04 SP1 und SP2.1 getestet. Sollten Sie eine andere Version des Shops installiert haben, rate ich von einem Einsatz ab.
Bitte beachten Sie auch unbedingt die allgemeinen Hinweise zur Verwendung hier veröffentlichter Code-Beispiele!
Bookmarks, Feed und Links
Wenn Ihnen dieser Beitrag geholfen hat ...
Beiträge zu ähnlichen Themen:
127 Antworten zu Advanced Show Category - Mehr Funktionen für xt:Commerce
Kommentar schreiben