Startseite News Shopware Mini-Guide zum Templating mit Twig bei Shopware 6
Shopware-Entwickler vor Computer

Mini-Guide zum Templating mit Twig bei Shopware 6

Die Basis für die Template-Entwicklung von Shopware ist das PHP-Webframework Symfony. Hierbei verwendete Shopware bisher die Template-Engine Smarty. Dies hat sich jetzt mit dem Update auf Shopware 6 geändert – hier ist die Template-Engine Twig im Einsatz. Viele Dinge sind gleich oder zumindest sehr ähnlich, dennoch kann der Einstieg in Shopware 6 mit dem neuen Template-System sehr verwirrend sein.

Um einen groben Überblick über Twig zu bekommen, haben die Experten unserer Shopware-Agentur Stuttgart, Heilbronn und Nürnberg die wichtigsten Informationen zusammengefasst und kurz erklärt. Für dieses Tutorial ist es von Vorteil, wenn Sie bereits grundlegende Erfahrungen mit Smarty besitzen und bereits ein Shopware 6 Theme erstellt und bereits installiert haben.

Twig-Blöcke

Ebenfalls wie in Smarty wird bei Twig der HTML-Code in Blöcke unterteilt. Diese Unterteilung ist dafür da, den Code zu strukturieren und vor allem die Blöcke gezielt wiederzuverwenden und/oder zu überschreiben. Je mehr Blöcke man verwendet, desto flexibler ist man in der Wiederverwendung und erhöht bis zu einem gewissen Maße die Übersicht seines Codes dank der Strukturierung. Laut Shopware beeinflusst die Verwendung von vielen Blöcken nicht bzw. nicht unbedingt merkbar die Performance des Shops.

Shopware-Template erweitern

Um ein Template zu erweitern, muss dieselbe Datei mit gleicher Ordnerstruktur im eigenen Theme erstellt und der sw-extends-Befehl verwendet werden. Shopware hat den Twig-Befehl extends hier erweitert, um eine Multivererbung zur Verfügung zu stellen.

Beispiel: Wir wollen die Suche aus dem Header entfernen.

Für die Header-Suche ist folgende Template-Datei verantwortlich: views/storefront/layout/header/search.html.twig. Um diese Datei zu überschreiben, muss im Theme eine gleichnamige Datei unter gleicher Ordnerstruktur erstellt werden:

Schritt 1 – Twig-Datei erstellen

  • Erstellen Sie die Datei search.html.twig unter views/storefront/layout/header in Ihrem Theme.

Schritt 2 – sw-extends-Befehl verwenden

  • Erweitern Sie mit folgender Code-Zeile die Originaldatei der Header-Suche. Der sw-extends-Befehl referenziert sich auf die Originaldatei:
    {% sw_extends '@Storefront/storefront/layout/header/search.html.twig' %}

10h

pro Monat

Sie benötigen Shopware-Support?

Sie benötigen Shopware-Support?

Sprechen Sie mit zertifizierten Entwicklern

  • Support ab 10 Stunden / Monat
  • Kompetente Beratung
  • Lösungen von zertifizierten Shopware-Entwicklern

Schritt 3 – Header-Suche ausblenden:

  • Erstellen Sie einen leeren Block, um den Inhalt zu löschen: Wenn Sie den obersten Block der Originaldatei kopieren und leerlassen, wird kein Inhalt für die Header-Suche ausgegeben.
    {% block layout_header_search %}
    {% endblock %}

Die Header-Suche wird jetzt ausgeblendet.

Elternelemente

Um neue Inhalte vor oder nach dem Originalinhalt des Blocks zu platzieren, muss nicht der komplette Code der Originaldatei kopiert werden – hierfür wird der sogenannte parent-Befehl verwendet. Am besten erklärt sich dieser Befehl anhand folgenden Beispiels, in dem vor und nach der Header Suche Inhalt ausgegeben wird:

{% block layout_header_search %}
    Inhalt vor der Suche
    {{ parent() }}
    Inhalt nach der Suche
{% endblock %}

Der parent-Befehl gibt den Inhalt des Original-Templates an der Stelle aus, an der der Befehl verwendet wird. So lässt sich ganz simpel Inhalt davor und danach platzieren.

Textbausteine verwenden

Um Default-Shopware-Textbausteine an beliebiger Stelle im Theme zu verwenden, benötigt man den Namen des Textbausteines. Den richtigen Namen kann im Backend über Einstellungen > Shop > Textbausteine und schließlich über die Auswahl des Textbaustein-Sets heausgesucht werden.

Im Template selbst verwendet man bspw. den Textbaustein für den Placeholder der Header-Suche so:

{{ "header.searchPlaceholder"|trans }}

Der trans-Filter nach dem Textbaustein-Aufruf sorgt dafür, dass der Textbaustein automatisch in der jeweiligen Übersetzung verwendet wird.

Template-Dateien inkludieren

Möchte man bspw. den Preis des aktuellen Produktes auch an einer anderen Stelle verwenden, kann man diesen Teil mit Twig inkludieren. Der zugehörige Befehl lautet sw-include. Auch hier hat Shopware den Standard-Befehl include aufgrund der Mehrfachvererbung erweitert. Ein Code-Teil könnte hier wie folgt lauten:

{% block component_product_box_price %}
    {% sw_include '@Storefront/storefront/component/product/card/price-unit.html.twig' %}
{% endblock %}

Nun sind Sie gewappnet, für erste kleinere Twig-Anpassungen in Ihrem Theme wie bspw. ein Template erweitern oder die Verwendung von Textbausteinen. Für einen tieferen Einblick in die Twig-Features empfehlen wir die offizielle Twig-Dokumentation. Zudem finden Sie im offiziellen Shopware 6 Theme-Guide mehrere Anwendungsbeispiele für Ihren Shop.

0 Gedanken zu „Mini-Guide zum Templating mit Twig bei Shopware 6“

  1. Hi, sehr gute Einführung…Vielen Dank…..kurze Frage.. wie müsste ich vorgehen, um ein Layout aus den Shopping Experiences in ein vorhandenes Template zu inkludieren? Gibt es dafür eine Lösung?

    Antworten
    • Hallo Herr Freyt,

      vielen Dank für die Frage – gerne unterstützen wir Sie bei der Integration. Da dafür aber je nach Projekt sehr unterschiedliche Parameter zu berücksichtigen sind, können wir keine allgemeingültige Aussage hierzu treffen. Aber nehmen Sie gerne Kontakt über unser Anfrageformular oder über projekte[at]econsor.de mit unseren Fachabteilungen auf.
      Ich bin mir sicher, dass unsere Experten eine Lösung für Sie finden!

      Viele Grüße
      Katrin Birkicht

      Antworten
  2. Falls auch mal jemand den Wert einer Variable aus der Theme.json ausgeben möchte und sonst nirgends etwas findet aber auf diesen Artikel stößt, man kann die Werte mit folgender Funktion ausgeben:
    {{ theme_config(‚variablen-name‘) }}

    Antworten

Schreibe einen Kommentar

Mitarbeiter beraten sich vor einem Whiteboard

Magento oder Shopware? – Der große Vergleich der Marktführer

Magento oder Shopware? Welches Shopsystem ist das richtige für Ihr Projekt? Erfahren Sie alles im großen Vergleich Magento vs. Shopware!
Es wird ein Tablet benutzt, mit Shopware-Logo.

Shopware Performance Optimierung: So dominieren Sie den Markt mit einem schnellen Shop

In der dynamischen Welt des E-Commerce kann der Erfolg oder Misserfolg von Onlineshops oft an einem einzigen Faktor gemessen werden: Geschwindigkeit. Studien zeigen, dass Nutzer Shops mit langsamen Ladezeiten schneller verlassen – und das oft unwiderruflich. Gerade in einem Wettbewerbsumfeld, das von steigenden Kundenansprüchen und wachsender Konkurrenz geprägt ist, wird die Performance-Optimierung zu einem entscheidenden ...

Mehr erfahren

Beitragsbild OXID Umzug auf Shopware

OXID eShop Umzug auf Shopware: Ein umfassender Leitfaden für mittelständische Unternehmen

Ein Umzug von OXID eShop auf Shopware erfordert eine gute Planung und Umsetzung. Mit dem richtigen Vorgehen gelingt der Umstieg reibungslos.
Support Ende von Shopware 5

Shopware 5 Support-Ende – wie es jetzt weiter geht

Der Support für Shopware 5 endet in 2024 – was heißt das für Sie? Damit Ihr Shop weiterhin bedienbar bleibt, gibt es verschiedene Möglichkeiten, die Funktionsfähigkeit Ihres Shopware-Shops zu gewährleisten. Alle Details hier!
pickware-pos-shopware-6-integriertes-kassensystem

Pickware POS für Shopware 6 – das integrierte Kassensystem

Für Shop-Betreiber bieten integrierte Kassensysteme eine große Erleichterung.Daher setzt Shopware jetzt auf ein integriertes Kassensystem, das in Zusammenarbeit mit dem Anbieter Pickware bereitgestellt wird.
Beratung zum Einstieg in den E-Commerce

Einstieg in E-Commerce mit Endkunden: Was Marken & Hersteller bei D2C beachten müssen

Für Marken und Hersteller bietet der Einstieg in den E-Commerce viele Chancen. Der Direktvertrieb von Produkten und Dienstleistungen durch den Hersteller (Direct to Consumer) ist im Kommen!

Shopware vs. Shopify: Vergleich der Shopsysteme

Shopware und Shopify sind zwei der beliebtesten E-Commerce-Plattformen auf dem Markt. Beide bieten eine breite Palette von Funktionen und Erweiterungen sowie die Möglichkeit, das Design Ihres Shops anzupassen. Aber welche ist die richtige Wahl für Ihr Unternehmen? Wir schicken Shopware vs Shopify in den Vergleich.
Shopware-Entwickler vor Computer

E-Commerce-Prozesse visuell bearbeiten: Der Shopware Flow Builder

Diese neue Funktion ist ein echter Meilenstein! Zwar erweitern die führenden E-Commerce-Software-Anbieter Ihren Funktionsumfang regelmäßig. Aber der neue Flow Builder von Shopware erweitert die erwartbare E-Commerce-Funktionalität um die visuelle Modellierung von Geschäftsprozesslogik. Ein echtes Highlight für skalierende E-Commerce-Projekte. Was ist der Shopware Flow Builder? Der Flow Builder bildet Geschäftsprozesslogiken visuell im Shopware-Backend ab. Über die ...

Mehr erfahren

Kollegen, die im Büro zusammenarbeiten

Footer-Navigation in Shopware 6 erstellen und erweitern

Eine Footer-Navigation dient u.a. der Verlinkung und Darstellung der wichtigsten Kategorien und Links zu Service-Seiten, wie bspw. die Datenschutzerklärung, am Ende einer Seite. Es kann sehr schnell ziemlich verwirrend werden, eine Shopware 6 Footer-Navigation zu erstellen, da diese komplett über das Kategorien-Menü realisiert wird. Mithilfe dieses Tutorials erfahren Sie, wie das funktioniert und wie man ...

Mehr erfahren

Shopware Entwickler vor Computer

Shopware 6 – E-Mail-Template anpassen

Auch in Shopware 6 sind E-Mail-Templates eine grundlegende Shopware-Funktion, die für den Shop-Betreiber sehr wichtig sind. Wie in Shopware 5 wird durch die Templates dem Shop-Betreiber sehr viel Arbeit abgenommen bzw. erleichtert. So lässt sich bspw. durch die Anpassung der Kopf- und Fußzeile ein einheitliches und sehenswertes Firmenbild realisieren. Zudem können bereits vorhandene Templates einfach ...

Mehr erfahren

Shopware-Entwickler lächelt vor Computer

Textbausteine in Shopware 6 erstellen und verwenden

Wie bereits in Shopware 5 sind Textbausteine in Shopware 6 ein nicht wegzudenkender Bestandteil. Auch für die Entwickler in unserer Shopware-Agentur in Stuttgart, Heilbronn und Nürnberg sind Shopware Textbausteine unverzichtbar. Durch sie können ganz einfach bspw. Button-Beschriftungen global und multilingual geändert werden. Textbausteine können auch innerhalb der Theme-Entwicklung erstellt und in den Shop abhängig vom ...

Mehr erfahren

Theme-Erstellung in Shopware 6 und erste Schritte

Theme-Erstellung in Shopware 6 und erste Schritte

Themes sind in Shopware der Grundbaustein für die Darstellung des Shops. Anders als bei Shopware 5 müssen diese in Shopware 6 über die Konsole erstellt werden – zumindest vorerst. Dies bedarf einiger Schritte, gestaltet sich aber als recht simpel, da Shopware per einfachem Befehl automatisch das komplette Theme-Gerüst erstellt und anschließend nur noch wenige Anpassungen ...

Mehr erfahren