Einstieg in das Template System

Hallo Zusammen, ich beschäftige mich seit nun 3 Tagen mit Shopware und bin begeistert von dem System. Einzig das Template-System macht mir etwas zu schaffen. Die Smarty-Dokumentation habe ich bereits studiert und einige Änderungen am Template durchgenommen. Ich möchte mein Verständnis für den Aufbau der Templates verbessern und suche auf diesem Weg nach Informationen, wo ich das am schnellsten machen kann. Den Schnelleinstig habe ich bereits gelesen und auch die Templatedokumentation 4.0. Dennoch habe ich einige Fragen, wie zB.: - Welche Smarty-Funktionen wurden für/von Shopware erstellt. (s, es) und was machen diese? - Woher weiß ich wann und an welcher Stelle welches Template angezeigt wird? - Wie finde ich am schnellsten die relevanten .tpl-Dateien? Gibt es eine Übersicht irgendwo? - Sollte man sich an den Aufbau des Basis Template halten oder ergibt es Sinn möglichst viel anzupassen? (Um die Struktur an die eigenen Bedürfnisse anzupassen) Ich wäre über ein paar Anregungen oder Links sehr dankbar :slight_smile: Viele Grüße Sven

ich habe die letzten zwei monate emotion erweitert/modifiziert. aber eigentlich würde ich in zukunft von grund auf ein eigenes Template erstellen bzw. kopieren. bei emotion muss man zu viele CSS styles überschreiben und responsive sollte das ganze auch sein. mir ist das block-system zu zerstückelt… aber man kann sich die einzelteile auch zusammenkopieren und zu größeren einheiten zusammenstellen.

Zu der gleichen Auffassung bin ich auch gekommen nach der kurzen Zeit. Ich habe sogar begonnen das gesamte CSS selbst zu schreiben. Das Grid hat nicht auf das gewünschte Design gepasst und das überschreiben der CSS-Styles ist ein graus. Wie oben beschrieben, komme ich noch nicht so ganz klar mit dem Aufbau von Default/Emotion Template. Und wie da im Hintergrund die Controller/Actions dranhängen. Ich erwarte hier eine Art internen Router, welcher die Templates zu den Actions mapped? Gibt es dazu eine Dokumentation? Was machen folgende Befehle/Funktionen (oder wo schaue ich nach, um das herauszufinden. Unter Smarty Plugins habe ich nichts gefunden): {s name=‘IndexActionShowPositions’}{/s} {se name=‘IndexLinkHome’}Home{/se} Danke euch :slight_smile:

UPDATE: Die Dokumentation von Shopware 3.5 ist noch sehr viel ausführlicher. [quote]Einen neuen Textbaustein anlegen Um einen neuen Textbaustein im Template anzulegen ist folgende Syntax relevant: {s name=„NAME DES TEXTBAUSTEINS“} INHALT DES TEXTBAUSTEIN {/s} Als Vorbereitung auf Shopware 4, können Textbausteine alternativ mit dem {se} Tag definiert werden. Hierdurch werden diese als „editable“ markiert und können später Live im Frontend editiert werden. {se name=„NAME DES TEXTBAUSTEINS“} INHALT DES TEXTBAUSTEIN {/se} Sie haben auch die Möglichkeit einen neuen Textbaustein anzulegen, ohne einen eindeutigen Namen definieren zu müssen. {s}INHALT DES TEXTBAUSTEIN{/s} So ist der Inhalt gleichzeitig der Key des Bausteins. Besser ist es aber natürlich, wenn Sie eindeutige Keys hinterlegen.[/quote] Außerdem habe ich herausgefunden, dass Shopware stark an das Zend Framework angelehnt ist und somit mit ‚Convention over Configuration‘ funktioniert. engine/shopware/controllers/*module*/*controller* …beinhaltet hierbei alle Actions. Nun muss ich nurnoch verstehen, wie die Convention funktioniert. Ich werde weiter lesen/recherchieren.

Habe nichts in der Doku gefunden, aber ich nehme an die Convention funktioniert wie folgt: Der Name des Modules (unter /engine/Shopware/controllers), beispielsweiße ‘Frontend’ wird assoziiert mit dem Template-Ordner ‘Frontend’ (unter /templates/*template_name*/). Außerdem werden die Ordner unter template/frontend/ mit den jeweiligen Controllern unter /engine/Shopware/controllers/frontend assoziieret. Achtung: Das ist nur eine Vermutung! Aber so werde ich nun weiter arbeiten…