Zusatzfelder in der Storefront ausgeben
Zusatzfelder sind eine Grundfunktion von Shopware 6 und bieten dir die Möglichkeit, Produkte, Kategorien oder Hersteller individuell zu erweitern. Mit Zusatzfeldern kannst du flexibel zusätzliche Informationen speichern und bei Bedarf in der Storefront ausgeben.
Da weder Shopware noch ThemeWare® wissen können, in welche Datei bzw. in welchem Twig-Block dein individuelles Zusatzfeld integriert werden soll, müssen individuelle Zusatzfelder manuell in die Storefront eingebunden werden.
Dies geht entweder mit einem CMS-Element in einem Erlebniswelt-Layout oder über eine individuelle Template-Anpassung:
CMS-Element
Vorteile
Umsetzung ist sehr einfach
Nachteile
erst ab Shopware 6.6.9 verfügbar
keine Abfrage ob ein Zusatzfeld leer ist möglich
Template-Anpassung
Vorteile
schon vor Shopware 6.6.9 verfügbar
eine Abfrage ob ein Zusatzfeld leer ist möglich
Nachteile
Umsetzung ist recht komplex
In dieser Anleitung erklären wir dir wie du Zusatzfelder mit einer Template-Anpassung in der Storefront ausgeben kannst.
Hinweis: Wie du ein Zusatzfeld mit einem CMS-Element in der Storefront ausgeben kannst, erfährst du in der Anleitung Zusatzfeld in der Erlebniswelt ausgeben.
Zusatzfeld mit einer Template-Anpassung ausgeben
In der folgenden Schritt-für Schritt-Anleitung binden wir das individuelle Zusatzfeld "Sicherheitshinweis" mit unserem kostenfreien ThemeWare® Customizing Plugin auf der Produktdetailseite (PDS) in die Storefront ein.
Tipp: Wie du ein individuelles Zusatzfeld anlegst, erfährst du in der Anleitung Zusatzfelder (Custom Fields)
Hinweis: Mehr Informationen zum Theme "Template-Anpassungen" findest du im Bereich Individuelle Anpassungen.
Achtung: Bearbeite in keinem Fall Originaldateien von Shopware oder Erweiterungen (Plugins, Apps oder Themes)!
Template-Anpassung mit dem ThemeWare® Customizing Plugin
1) Template-Datei erstellen
Die Produktbeschreibung wird über die Template-Datei description.html
(siehe GitHub) in die Storefront geladen.
Erstelle also die Datei description.html.twig
in folgendem Ordner vom Customizing Plugin:
Hinweis: Wir empfehlen lokal zu arbeiten und die Dateien – wenn wir fertig sind – hochzuladen. So hat man direkt eine "Sicherheitskopie" seiner Anpassungen.
2) Original Template ableiten
Leite nun die Originaldatei von Shopware wie folgt ab:
3) Twig-Block vererben
Die Beschreibung befindet sich im Twig-Block component_product_description_content
. Wir vererben den Block nun wie folgt:
Tipp: Ergänze beschreibende Kommentare zu deinen Anpassungen. Diese erleichtern es dir dich später zurecht zu finden.
4) Zusatzfeld einfügen
Füge nun nach dem eigentlichen Twig-Block-Inhalt (⇒ {{ parent }}
) das Zusatzfeld (z.B. custom_gpsr_sicherheitshinweis
) ein:
Hinweis: Der Zusatz |raw
ist nötig, weil wir HTML fähiges Zusatzfeld erstellt haben. Dadurch wird der HTML-Code nicht einfach ausgeben sondern interpretiert und dein Text entsprechend formatiert.
Optional: Du kannst die Einbindung auch noch mit einem if
verbinden, das prüft, ob das Zusatzfeld überhaupt befüllt ist und einen Überschrift ergänzen:
Tipp: Für mehrsprachige Storefronts bietet es sich an, die Überschrift als Textbaustein zu verwenden.
Hinweis: Ein Hersteller-Zusatzfeld kannst du mit folgendem Syntax ausgeben:
{{ page.product.manufacturer.customFields.DEINZUSATZFELD|raw }}
5) Template-Datei hochladen
Lade die neue Template-Datei nun auf deinen Webserver in das Verzeichnis:
6) Cache leeren
Leere abschließend einmal den Shopware- sowie deinen Browser-Cache damit die Änderung auch in der Storefront korrekt angezeigt wird.
Beispiel
Weiterführende Informationen
Mehr Informationen zum Thema "Zusatzfelder" findest du in folgendem Artikel:
Zusatzfelder (Custom Fields)Last updated