Im OXID eShop 7 setzen Sie das Gewährleistungslabel per Template-Erweiterung unter den Warenkorb-Knopf: im Twig-Block details_productmain_tobasket des APEX-Themes, über ein kleines Modul oder ein Child-Theme. Eine CMS-Seite im Admin reicht dafür nicht, weil der Editor Skripte entfernt und es auf der Artikelseite keinen freien CMS-Platz gibt.
Der Code für OXID eShop
<div data-garantielabel></div>
<script src="https://www.garantielabel.app/widget.js" async></script>Weitere Optionen wie Darstellung und Sprache stellen Sie im Code-Baukasten ein.
Schritt für Schritt in OXID eShop
- Modul oder Child-Theme
Die Erweiterung gehört in ein kleines Modul oder ein Child-Theme (in dertheme.phpmit'parentTheme' => 'apex'), damit Updates des APEX-Themes sie nicht überschreiben. Aktiviert wird es unter Erweiterungen → Module bzw. Erweiterungen → Themes. Dafür brauchen Sie Dateizugriff, meist übernimmt das Ihre Agentur. - Block erweitern
Die Vorlagepage/details/inc/productmain.html.twigerweitern und im Blockdetails_productmain_tobasketnach{{ parent() }}den Widget-Code einsetzen. Mitparent()bleibt der Warenkorb-Knopf unverändert. - GARAN-Label je Artikel
Für eigene GARAN-Labels unter Artikel verwalten → Attribute zwei Attribute anlegen, etwa „GARAN voll“ und „GARAN klein“, und am Artikel unter Auswahl → Attribute zuordnen die Adressen der beiden Dateien eintragen. Im Template geben Sie die Werte indata-garan-vollunddata-garan-kleinaus. - Cache leeren
Mitvendor/bin/oe-console oe:cache:clearden Template-Cache leeren und die Artikelseite prüfen, auch mit Varianten.
In einem Modul liegt die Datei unter views/twig/extensions/themes/apex/page/details/inc/productmain.html.twig und sieht so aus:
{% extends 'page/details/inc/productmain.html.twig' %}
{% block details_productmain_tobasket %}
{{ parent() }}
<div data-garantielabel></div>
<script src="https://www.garantielabel.app/widget.js" async></script>
{% endblock %}Besonderheiten in OXID eShop
- Der Editor für CMS-Seiten entfernt
<script>. Ab OXID 7.5 gibt es zusätzlich einen HTML-Sanitizer, der Skripte entfernt, wenn er eingeschaltet ist. Der Code gehört deshalb ins Template. - Zugeordnete Attribute erscheinen standardmäßig auch in der Liste der Produkteigenschaften auf der Detailseite. Blenden Sie die beiden GARAN-Attribute dort bei Bedarf im Template aus.
- OXID 6 mit den Smarty-Themes Flow und Wave: Der Block heißt genauso. Module hängen ihn über
blocksin dermetadata.phpein, die Vorlage istpage/details/inc/productmain.tpl.
Gewährleistungslabel in der Bestellbestätigung
Laut Leitlinien der Kommission soll der Hinweis auch in der Bestätigungs-E-Mail stehen. Die Bestellbestätigung nutzt die CMS-Seite mit dem Ident oxuserorderemail, die Sie unter Kundeninformationen → CMS-Seiten bearbeiten. JavaScript läuft in E-Mails nicht, ergänzen Sie dort die amtliche Grafik als Bild. Ein bloßer Link reicht als dauerhafter Datenträger voraussichtlich nicht (EuGH, Rs. C-49/11); am sichersten steht der Hinweis als Bild, Text oder Anhang direkt in der Mail. Die amtlichen Dateien finden Sie im Download.
Quellen
- OXID Developer-Doku: Block eines aktiven Themes erweitern
- OXID Developer-Doku: Child-Theme anlegen
- OXID Developer-Doku: HTML-Sanitizer (7.5)
- OXID-Handbuch: Artikel, Registerkarte Auswahl
- OXID-Handbuch: CMS-Seiten
- APEX-Theme auf GitHub (Vorlage der Artikelseite)
Herstellergarantie? Dann gehört das GARAN-Label dazu
Gibt der Hersteller eine kostenlose Haltbarkeitsgarantie von mehr als zwei Jahren auf die ganze Ware, gehört zusätzlich das GARAN-Label auf die Produktseite. Mit dem GARAN-Label-Generator erstellen Sie es in Sekunden aus Jahren, Marke und Modell. Das erste Label ist kostenlos.
Laden Sie die vollständige und die geschachtelte Fassung in die Medienverwaltung von OXID eShop und tragen Sie die Adressen im Widget-Code ein:
<div data-garantielabel
data-garan-voll="https://…/GARAN-MX-500.svg"
data-garan-klein="https://…/GARAN-MX-500-geschachtelt.svg"></div>Das Widget zeigt dann die geschachtelte Fassung unter dem Gewährleistungslabel, ein Klick öffnet das vollständige GARAN-Label.
Häufige Fragen
Kann ich den Code einfach in eine CMS-Seite einfügen?
Nicht zuverlässig. Der Editor entfernt das Skript, und auf der Artikelseite gibt es keinen Standardplatz, an dem eine CMS-Seite automatisch erscheint. Eine kleine Template-Erweiterung ist der sichere Weg.
Muss ich das APEX-Theme selbst ändern?
Nein. Ein Modul oder Child-Theme mit {{ parent() }} reicht. Das Original-Theme bleibt updatefähig, und der Kaufknopf bleibt, wie er ist.
Wo trage ich das GARAN-Label je Artikel ein?
Zum Beispiel als Attributwert am Artikel unter Auswahl → Attribute zuordnen. Das Template liest die Adressen dann aus und gibt sie an das Widget weiter.