Zum Hauptinhalt springen
Die eKomi-Produktbewertung zeigt auf der Produktseite die Sternebewertungen und die Kundenkommentare zu einem Artikel. Diese Seite enthält die vollständigen Beispieldateien dafür: das Bewertungstemplate in zwei Varianten, das AJAX-Template, die JavaScript-Rückmeldefunktionen und das CSS für die Bewertungsbalken. Alle Beschriftungen in den Beispielen sind Beispieltexte. Ersetzen Sie sie durch Ihre eigenen oder durch Textplatzhalter aus der shop.config. Wegweiser: eKomi Produktbewertung · Referenz: E-PRODRATING-EKOMI-Tags

Die Dateien im Überblick

Mit oder ohne AJAX

Beide Varianten zeigen dasselbe an. Der Unterschied liegt allein darin, was beim Blättern und beim Filtern nach “X Sterne” passiert. Wählen Sie eine Variante und bleiben Sie dabei. Eine Mischung aus beidem führt dazu, dass ein Teil der Links die Seite neu lädt und der andere nicht.

Das Bewertungstemplate

Beide Fassungen gehören in dieselbe Datei incl_prodrating_ekomi.htm. Übernehmen Sie nur eine davon.
~E-PRODRATING-EKOMI_Count(n)~ ist nicht nur eine Anzeigeeinstellung. Dieses Tag lädt die Bewertungen und richtet das Blättern ein. Steht es nicht oder steht es zu weit unten, bleiben alle Blöcke darunter leer.Setzen Sie es deshalb als erstes Tag ganz an den Anfang des Templates.
Da der zweite Aufruf den ersten überschreibt, stünden effektiv 10 Bewertungen je Seite. Hier auf einen Aufruf gekürzt.

Was die beiden Fassungen sonst noch unterscheidet

Über die Links hinaus zeigt die AJAX-Fassung einige Dinge anders. Das ist keine Vorgabe, sondern Geschmackssache, und Sie können beides beliebig mischen.
  • Die AJAX-Fassung nennt die Gesamtzahl schon in der Überschrift und schreibt die Stimmenzahl in den Balken statt daneben.
  • Die Fassung ohne AJAX zeigt ~E-PRODRATING-EKOMI_PositivePercentage~ als Prozentwert, die AJAX-Fassung ~E-PRODRATING-EKOMI_PositiveVotes~ als absolute Zahl.
  • Die Blätterleiste steht ohne AJAX über den Bewertungen und außerhalb von {E-PRODRATING-EKOMI_FeedbackData}, mit AJAX unter den Bewertungen und innerhalb dieser Klammerung. Innerhalb bedeutet: ohne Bewertungen gibt es auch keine Blätterleiste. Das ist die sinnvollere Variante.
  • Nur die Fassung ohne AJAX hat Pfeile für eine Seite vor und zurück, über PagingBack und PagingNext.

Das AJAX-Template

ws_ajax_eKomi.htm ist kurz. Es liefert nur den Bewertungsblock, ohne das übrige Seitengerüst.
Der Name zwischen den spitzen Klammern bestimmt, welcher Container auf der Produktseite ersetzt wird. Geben Sie dem div, in dem die Bewertung steht, also die ID product_rating_ekomi.

Die JavaScript-Rückmeldefunktionen

ws_AJAXloadTemplate erwartet vier Funktionen. Auch wenn Sie nichts darin tun wollen, müssen sie vorhanden sein, sonst bricht der Aufruf mit einem Fehler ab.
Zwei der vier Namen beginnen mit ws_, die anderen beiden nur mit ws. Das ist uneinheitlich, aber richtig so: die Templates rufen genau diese Namen auf. Ändern Sie einen Namen, müssen Sie ihn an allen Stellen im Template mitändern.

Das CSS für die Bewertungsbalken

Die Null als Sonderfall

Beide Templates setzen an die Zeile eine zweite Klasse, die auf die Stimmenzahl endet:
Bei drei Stimmen entsteht rating_ekomi_graphic_line_3, bei keiner Stimme rating_ekomi_graphic_line_0. Nur für die Null gibt es eine Regel im Stylesheet, und sie macht den Text grau und den Mauszeiger normal. Damit sieht eine Bewertungsstufe ohne Stimmen nicht mehr nach einem Link aus. Die Klammerung um das href beziehungsweise das onclick sorgt im selben Zug dafür, dass sie auch keiner ist. Die Templates verwenden vier weitere Klassen, die in diesem Stylesheet fehlen: clear, infobox, rating_paging_placeholder und rating_paging_actualpage. Ergänzen Sie sie selbst, sonst stehen Händlerantwort und Blätterleiste ohne Gestaltung da.

Wo die Tags beschrieben sind

Diese Seite erklärt die Beispieldateien, nicht die einzelnen Tags. Die vollständige Beschreibung aller E-PRODRATING-EKOMI_-Tags, mit Typen, Parametern und den Eigenheiten der Blätterleiste, steht auf der Referenzseite. Referenz: E-PRODRATING-EKOMI-Tags Drei Punkte von dort sind beim Nachbauen der Beispiele besonders wichtig:
  • Count() gehört als erstes Tag an den Anfang des Templates. Es lädt die Bewertungen und richtet das Blättern ein.
  • Fehlt bei den vier Paging-Tags der Zahlenparameter, rechnen sie mit fünf Seiten. Die Beispiele oben geben überall 2 und 3 an.
  • PagingParam nimmt einen aktiven Filter von selbst mit. Sie müssen ihn nicht anhängen.