HowTo: Info-Text für Variationen einbauen - sinnvoll z.B. für Link zu Größentabelle

  • Wichtiger Hinweis Liebe Kunden, solltet Ihr den DATEV Rechnungsdatenservice 2.0 nutzen, dann müsst Ihr bis zum 30.06.2024 JTL-Wawi 1.9 installieren. Danach wird die Schnittstelle für ältere Versionen nicht mehr unterstützt.
  • JTL-Connect 2024: Ihr habt noch kein Ticket? Jetzt Early Bird Ticket zum Vorzugspreis sichern! HIER geht es zum Ticketverkauf

John

Sehr aktives Mitglied
3. März 2012
2.813
555
Berlin
Ich hatte den Wunsch, neben der reinen Auswahlmöglichkeite für Variationen einen zusätzlichen Info-Text anzeigen lassen zu können und zwar für jede Variation einzeln.

Sinnvoll erscheint dies z.B. für eine Variation in Größe mit einem zusätzlichen Link zur einer Seite im CMS, auf der es eine Größentabelle gibt.
Oder um zusätzliche Infos zu Variationen einzubauen, die sich aus der reinen Bezeichnung der Variation nicht ergeben. Es gibt da glaube ich viele Szenarien.

LEIDER bietet die Wawi keine Möglichkeit, pro Variation extra Infos in einem Feld einzutragen. Es gibt dafür in der aktuellen Version keine Felder.

Daher hier mein Ansatz.
Die Variationen besitzen eine Eigenschaft "Sort", über die man die Reihenfolge der Variationen festlegen kann. Der Sort kann zwischen 0 und 65000 liegen.
Man fügt dem Artikel ein Attribut hinzu nach dem Format
Name: "variations-info-sort"+Sortnummer
Inhalt: Der Inhalt, der angezeigt werden soll.

Beispiel Variation Größe.
Sort der Variation: 10

Hinzuzufügendes Attribut
Atributart: Langtext
name: variations-info-sort10
inhalt: "Unsicher welche Größe? Hier unsere Tabelle ...[html Link]"

Voraussetzungen

1. Im Shop Backend Einstellung 89 "Attribute vom Artikel an Beschreibung anhängen?" auf NEIN stellen
2. In den Einstellungen des Templates "Benutzerdefinierte Template-Dateien verwenden?" auf JA stellen

3. Die Datei \templates\JTL-Shop3-Tiny\tpl_inc\artikel_inc.tpl kopieren und als \templates\JTL-Shop3-Tiny\tpl_inc\artikel_inc_custom.tpl abspeichern

4. In der eben angelegten Datei \templates\JTL-Shop3-Tiny\tpl_inc\artikel_inc_custom.tpl folgenden Zeile suchen
Code:
<li class="label">{$Variation->cName}</li>
und darunter einfügen
Code:
                        {* Anfang Einfügen von Variations-Infos *}                        
                            {assign var=variation_info_wert value=variations-info-sort`$Variation->nSort`}
                            {if $Artikel->AttributeAssoc.$variation_info_wert }
                                <div class="variation-info">
                                    {$Artikel->AttributeAssoc.$variation_info_wert}
                                </div>
                            {/if}                
                        {*Ende Einfügen von Variations-Infos *}

das Aussehen der zusätzlichen Info kann in der theme.css angepasst werden z.B. mit
Code:
.variation-info {
    font-size: 0.9em;
    margin-bottom: 2px;
    margin-top: -4px;


}

Achtung. Diese Änderung birgt eine Gefahr. Wenn der Sort der Variationen geändert wird, MUSS das Attribut variations-info-sort manuell nachgepflegt werden, ansonsten werden die Zusatzinfos an der falschen Variation angezeigt.

Beispiel-Artikel: Goggles Biohazard - Farbe wählbar, 12,90 €
Die Infos "Hier kannst Du die Farbe der Gläser auswählen" kommt durch diese Erweiterung
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.389
266
AW: HowTo: Info-Text für Variationen einbauen - sinnvoll z.B. für Link zu Größentabel

Alternativ könnte man anhand der Sortiernummer die Texte direkt mappen und mit Sprachvariablen arbeiten. Bei Funktionsattributen funktioniert ja die Sprachunterscheidung nicht und man müsste hier zusätzlich für weitere Sprachen ergänzen.

artikel_inc_custom.tpl

Code:
[B][COLOR=#ff0000]{assign var="variInfoKeys" value=','|explode:"1,2,3,4"}
{assign var="variInfoValues" value=','|explode:"variInfoText1,variInfoText2,variInfoText3,variInfoText4"}
{assign var=variInfo value=$variInfoKeys|@array_combine:$variInfoValues}[/COLOR][/B]

...

               {if isset($Artikel->Variationen) && $Artikel->Variationen|@count > 0}  
                  <div class="variations">
                  {foreach name=Variationen from=$Artikel->Variationen key=i item=Variation}
                     <ul>
                         [B][COLOR=#ff0000]{assign var='nSort' value=$Variation->nSort}[/COLOR][/B]
                         <li class="label">{$Variation->cName}</li>
                         [B][COLOR=#ff0000]<li><p>{lang key=$variInfo.$nSort section="custom"}</p></li>[/COLOR][/B]

Das fette rote ergänzen. Die Keys spiegeln dabei die Sortiernummern der Variationen wieder.

Die Sprachvariable "variInfoText1" dazu: Hinweistext 1 mit einem <a href='http://www.com-ins-netz.de'>Link</a>
 

John

Sehr aktives Mitglied
3. März 2012
2.813
555
Berlin
AW: HowTo: Info-Text für Variationen einbauen - sinnvoll z.B. für Link zu Größentabel

Alternativ könnte man anhand der Sortiernummer die Texte direkt mappen und mit Sprachvariablen arbeiten. Bei Funktionsattributen funktioniert ja die Sprachunterscheidung nicht und man müsste hier zusätzlich für weitere Sprachen ergänzen.

Ja, das Problem habe ich erkannt und speichere daher die zusätzlichen Felder als ATTRIBUTE vom Typ Langtext ab und nicht als Funktionsattribute.
Vorteile: HTML Editor der Wawi beim Erstellen nutzbar und die Sprachen werden im Gegensatz zu Funktionsattributen berücksichtigt

Dein Ansatz ist auch interessant, hat aber aus meiner Sicht den Nachteil, daß man an einer anderen Stelle als am Artikel in der Wawi pflegen muß. Zudem bietet sich bei den Attributen die Möglichkeit, über die Ameise schnell größere Mengen von Artikel zu ändern.

Ich denke, Dein Ansatz ist super geeignete, wenn man das Zusatzfeld globaler einsetzen möchte. Wenn man bei sehr vielen Artikel immer die gleiche Variation mit der gleichen Sortiernummer verwendet und immer den gleichen Text anzeigen möchte, ist man damit sehr effizient.
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.389
266
AW: HowTo: Info-Text für Variationen einbauen - sinnvoll z.B. für Link zu Größentabel

Ja, das Problem habe ich erkannt und speichere daher die zusätzlichen Felder als ATTRIBUTE vom Typ Langtext ab und nicht als Funktionsattribute.
Vorteile: HTML Editor der Wawi beim Erstellen nutzbar und die Sprachen werden im Gegensatz zu Funktionsattributen berücksichtigt

Stimmt, habe deinen Text nicht richtig gelesen ;)

Ich denke, Dein Ansatz ist super geeignete, wenn man das Zusatzfeld globaler einsetzen möchte. Wenn man bei sehr vielen Artikel immer die gleiche Variation mit der gleichen Sortiernummer verwendet und immer den gleichen Text anzeigen möchte, ist man damit sehr effizient.

Zumal ich mir aktuell kein Szenario vorstellen kann, wo man soviele unterschiedliche Texte abbilden müsste. Hatte mich da an deinem Beispiel mit den Größentabellen orientiert, das ist auch eher global definiert :)
 

ag-websolutions.de

Sehr aktives Mitglied
29. Dezember 2009
14.548
232
AW: HowTo: Info-Text für Variationen einbauen - sinnvoll z.B. für Link zu Größentabel

@John

1. Im Shop Backend Einstellung 89 "Attribute vom Artikel an Beschreibung anhängen?" auf NEIN stellen
Als Tipp:
Wenn du (Shop-Version 3.19) den Attribut-Namen mit "intern_" anfangen lässt, dann werden diese Attribute automatisch nicht an die Artikelbeschreibung angehangen, auch wenn der Parameter 89 auf "Ja" steht.
Du nimmst dir damit dann nicht die Möglichkeit, event. andere Attribute doch sichtbar an die Beschreibung anhängen zu können.


Viele Grüße / Best regards


Kevin / ag-websolutions.de
 

3po

Sehr aktives Mitglied
30. August 2011
2.584
95
AW: HowTo: Info-Text für Variationen einbauen - sinnvoll z.B. für Link zu Größentabel

@John
Als Tipp:
Wenn du ( Shop-Version 3.19) den Attribut-Namen mit "intern_" anfangen lässt, dann werden diese Attribute automatisch nicht an die Artikelbeschreibung angehangen, auch wenn der Parameter 89 auf "Ja" steht.
Du nimmst dir damit dann nicht die Möglichkeit, event. andere Attribute doch sichtbar an die Beschreibung anhängen zu können.
werden die attribute die mit "intern_" gekennzeichnet sind trotzdem zum shop übertragen?
 

John

Sehr aktives Mitglied
3. März 2012
2.813
555
Berlin
AW: HowTo: Info-Text für Variationen einbauen - sinnvoll z.B. für Link zu Größentabel

Ohje, mit Wawi 1.0.0 ist mein Ansatz nicht mehr brauchbar aus zwei Gründen:

1. Man hat keine direkte Kontrolle mehr über den sort-Wert der Variationen. Die Wawi vergibt die Werte wohl in 1er Schritten neu, sobald man an den Variationen etwas ändert.

2. Die Verwaltung der Attribute wurde vom Artikel entkoppelt und findet nun in der Attributsverwaltung statt. Namen und Werte von Attributen können nur noch dort geändert werden und das macht die Sache bei vielen Artikeln mit unterschiedlichen Variationen unmöglich zu verwalten.

Hab Ihr eine Idee, wie ich sonst einen "Hilfetext" in unmittelbare Nähe der Variationsauswahl bekommen kann?

Ich habe zwei Ideen:

1. Plugin mit eigener Tabelle in der Datenbank mit den Spalten kArtikel, $Variation->cName, und kMyVarHilfetext
Plugin holt sich anhand von kArtikel und $Variation->cName den passenden Text.
Nachteil: Pflege nicht über die Wawi

2. Irgendwas mit "eigenen Feldern" des Artikel. Wird aber unschön, weil man für jede Sprach ein weiteres eigene Feld anlegen muß und das im Shop nicht automatisch auf die Sprache lokalisiert wird.
 

XYZ

Sehr aktives Mitglied
21. September 2011
2.541
10
AW: HowTo: Info-Text für Variationen einbauen - sinnvoll z.B. für Link zu Größentabel

Cool, ich wollte heute einen Vorschlag für Beschreibungstexte zu Variationen einreichen, derzeit schreibe ich die Infos immer hinter die Variation, platzmäßig ist man jedoch sehr beschränkt dabei, zudem wäre es übersichtlicher, wenn der Text eine Zeile unterhalb der Variation stehen würde.

Wäre vor allem genial, wenn der Text mit in den "Swatches", der neuen Variationsauswahlmöglichkeit in Shop4 stehen könnte und sich diese untereinander statt nebeneinander platzieren ließen. Derzeit sieht es halt noch so aus:

Rot karierter Kilt mit 2 Schnallen - Versand - Im Onlineshop bestellen oder im Laden in Berlin kaufen