Produktvariationen sind ein sinnvolles Hilfsmittel, um die Übersichtlich in einem Onlineshop auch bei breiter Produktpalette zu wahren. Ein häufig bemühtes Beispiel für Artikelvariationen sind Attribute wie Farbe und Größe eines T-Shirts.

Verwendet man entsprechende Variationen (zumeist realisiert über DropDown- oder Radio-Boxen in der Artikelansicht) werden dem Verbraucher nicht nur Artikelbezeichnungen en masse in der Form

  • ShopSEO T-Shirt Modell 2008 – Größe M – Farbe grün
  • ShopSEO T-Shirt Modell 2008 – Größe L – Farbe grün
  • ShopSEO T-Shirt Modell 2008 – Größe XL – Farbe grün
  • ShopSEO T-Shirt Modell 2008 – Größe M – Farbe blau

erspart und dafür ein übersichtliches Produktsortiment (in diesem Fall einen Artikel mit der Bezeichnung „ShopSEO T-Shirt Modell 2008“) geboten.

Auch Duplicated Content wird vermieden (mehrfach replizierte Beschreibungen für Artikel gleicher Art) und somit auch die Suchmaschine zufriedengestellt.

Variationen im JTLShop 2

Der JTL-Shop in Kombination mit der JTL Warenwirtschaft kann bisher gut mit Variationen umgehen. Nur deshalb „Gut“ und nicht „Sehr Gut“, da Kombinationen von Variationen und eine angeschlossene Warenwirtschaft (noch) nicht adäquat unterstützt werden.

Eine Abbildung der Form Variation 1 x Variation 2 -> Artikelnummer ist derzeit nicht möglich, d.h. Artikelnummern und Lagerbestände können jeweils nur in einer Variation verwaltet werden.

Im aktuellen JTL Shop 2.17 ist die Variationsauwahl nur in der Artikelansicht (Artikel.tpl) möglich. Nachfolgend soll gezeigt werden, wie Artikel mit den entsprechenden Variationen schon in der Kategorieansicht (Produkte.tpl) ausgewählt und in den Warenkorb gelegt werden können.

Schritt 1: Anpassung class.helper.Artikel.php

In der Datei [jtlshop-root]/classes/class.helper.Artikel.php die Funktion

getArtikelFromKategorie($kKategorie, $limitStart, $limitAnzahl, $order,
                                   $kKundengruppe=0, $kSprache=0)

suchen. Hier muss hinter der Codezeile

$artikel->holVariationsnamen();

folgende Zeile hinzugefügt werden

$artikel->holVariationen();

Hintergrund: in der Templatedatei für die Kategorieansicht (Produkte.tpl) sind nur die Variationsnamen zugänglich. Durch die Ergänzung haben wir nunmehr Zugriff auf alle für die Bestellabwicklung relevanten Werte (Preisaufschläge, Artikelnummern , …).

Schritt 2: Anpassung Produkte.tpl

Nachdem wir die Grundlagen für die Variationsanzeige gelegt haben, können wir nun das Design der Kategorieansicht um Variationen ergänzen. Da die Oberfläche eines produktiven Shops mitunter schon verändert wurde, sind Code-Snipets hier eher fehl am Platze.
Man sollte sich hier an der schon integrierten Variationsauswahl in der [template-root]/Artikel.tpl orientieren und die Codezeilen in die [template-root]/Produkte.tpl kopieren und bei Bedarf anpassen.

Der relevate Part in der Artikel.tpl wird im Standard Template „JTL-Shop 2“ bspw. eingeleitet mit

{foreach name=Variationen from=$Artikel->Variationen item=Variation}
   {if $smarty.foreach.Variationen.first}

und endet mit

   {if $smarty.foreach.Variationen.last}
      </table>
   {/if}
{/foreach}

Unbedingt beachten: damit die Artikel auch in den Warenkorb gelangen können, muss der Code zur Anzeige der Variationen vom HTML Formular mit dem Namen inWarenkorb umschlossen werden. Den einleitenden <form> Tag also entsprechend verschieben.

Das sollte es auch schon gewesen sein. Im Prinzip haben wir jetzt die Bestelllogik aus der Artikelansicht in die Kategorieansicht kopiert und entsprechende Daten zugänglich gemacht. Neben mir haben bereits zwei weiterer User aus dem JTL-Forum die Änderungen erfolgreich vorgenommen und integriert.

Sollten dennoch Probleme auftauchen, einfach die Kommentarfunktion hier auf ShopSEO.de nutzen :)

2 Antworten zu “Produktvariationen in der Kategorieansicht eines JTL-Shops 2.x”

  1. Variation mit Aufpreis in produkte.tpl - JTL-Software Supportforum f sagt:

    […] mit Aufpreis in produkte.tpl Hallo, ich habe nach folgender Anleitung: Produktvariationen in der Kategorieansicht eines JTL-Shops 2.x

  2. german sagt:

    Hallo,

    da ich nicht der erfahrene bin, komme ich mit dem laut Anleitung erklärenden Schritt 2 nicht klar.
    Den code aus Artikel.tpl kopieren ist okay und dann aber WO in der
    produkte.tpl einfügen?
    Und diesen abschliessenden Schritt –

    Unbedingt beachten: damit die Artikel auch in den Warenkorb gelangen können, muss der Code zur Anzeige der Variationen vom HTML Formular mit dem Namen inWarenkorb umschlossen werden. Den einleitenden Tag also entsprechend verschieben.

    kann ich leider nicht folgen, inWarenkorb habe ich, aber was muss wie umschliessen.

    Besten Dank dafür und für die Erweiterung.

    german

Eine Antwort schreiben