Neues Template ohne Vererbung erstellen

Hallo zusammen, ich muss für einen Kunden einen Shopware Shop so umgestalten, dass er weder mit dem _default, noch mit dem emotion Template viel Ähnlichkeit hat. Der Designer’s Guide empfiehlt ja, ein eigenes Template auf Basis des emotion Template anzulegen in Form von _emotion_eigenestheme - leider halte ich das in meinem Fall für sehr unpraktisch in diesem Template zuerst alle emotion Vererbungen zu überschreiben und zusätzlich noch die nicht benötigten Vererbungen des _default Templates (in meinem Fall werden vermutlich 90% der bestehenden CSS Anweisungen nicht benötigt). Meine Frage wäre daher: Wie kann ich am Besten verfahren, ohne mich um die Vererbungen kümmern zu müssen, aber trotzdem updatesicher zu sein? Mein Ansatz wäre jetzt einfach den kompletten default Ordner zu kopieren, umzubenennen und alle Änderungen dort vorzunehmen. Gibt das in irgendeiner Form Probleme? Interessant wäre für mich auch, ob man ein Template in dieser Form auch als Plugin anbieten könnte ohne Lizenzprobleme zu bekommen, da man ja quasi den shopware Code verändert und nicht nur darauf aufbaut. Alternativ könnte ich das komplette emotion Template kopieren, wobei ich dann ja in bestimmten Fällen immer noch die Vererbung zum default Template habe, die ich überschreiben muss. Gibt es irgendwo eine Auflistung der Vorteile und Neuerungen die das emotion Template im Vergleich zum default Template bietet? tl;dr: Kann ich problemlos das komplette _default Template kopieren und anpassen um Vererbung zu vermeiden? Kann ich ein solches Template als Plugin problemlos anbieten? Gibt es eine Liste der Neuerungen/Vorteile, die ich bei der Verwendung vom emotion Template habe? Danke im Voraus!

Hallo @genten, ich kann dir hier nur empfehlen ein komplett eigenes Template anzulegen und nicht vom „_default“ oder „_emotion“-Template abzuleiten. Grundsätzlich musst du dabei nur beachten, dass du bei der Verwendung des „{extends file=’…’}“-Befehl nicht von „parent“ ableitest sondern nur von deinen Template: {extends file="emotion\_mytemplate/frontend/index/index.tpl"} Schaue dir in diesen Zuge auch die grundlegende Block-Struktur unterhalb von „_default/frontend/index/index.tpl“ an, um in deinen eigenen Templates die gleichen Möglichkeiten zu haben wie in unseren Standard-Templates. Updatesicher bekommst du das Template aber nicht, da du nicht mehr auf unsere Struktur aufbauen wirst und das Vererbungssystem nicht nutzen wirst, so dass dir Bugfixes und neue Features nicht automatisch im Template zur Verfügung stehen, sondern du musst diese nach jeden neuen Release von Shopware eigenhändig in dein Custom-Template implementieren. Du kannst das Template natürlich als Plugin anbieten, auch wenn diese Shopware Code beinhalten. Hier ein Tutorial, wie du ein Template als Plugin aufarbeiten kannst: http://wiki.shopware.de/Templates-fuer- … l_895.html Als Lizenz für unsere Standard-Template verwenden wir New BSD (siehe license.txt im „_templates“-Ordner). Weitere Informationen zu New BSD: http://de.wikipedia.org/wiki/BSD-Lizenz http://opensource.org/licenses/BSD-3-Clause Grundsätzlich bei New BSD ist zu beachten, dass der Copyright-Vermerk des ursprünglichen Autors weiterhin im Code sein muss. Das „_emotion“-Template ist unser neues Standard-Templates, welches wir zu Gunsten vom „_default“ in Shopware 4 eingefügt haben. Die Vorteile des „_emotion“-Templates liegen im wesentlichen in der moderneren Gestaltung des Shops und der Implementierung von ESI-Tags (http://de.wikipedia.org/wiki/Edge_Side_Includes). Des Weiterem bauen wir alle neuen Features von Shopware in das „_emotion“-Template ein. Das „_default“-Template dient so gesehen nur als Legacy Template. Viele Grüße, Stephan Pohl :shopware:

1 „Gefällt mir“

Hallo Stephan, danke für deine ausführliche Antwort! Ich muss leider zugeben, dass ich trotz deiner Antwort und nach Lesen der Dokumentationen/Guides immer noch nicht die Template Struktur zu 100% verstehe. Deine Antwort auf meine Frage nach der Updatesicherheit heißt für mich im Umkehrschluss, dass die Shopware Templatestruktur in erster Linie darauf ausgelegt ist, dass man nur geringfügige Änderungen am emotion Template vornehmen soll aber die Basis quasi immer gleich bleibt, anders als z.B. bei Wordpress (was natürlich von der Komplexität her nicht zu vergleichen ist). Wenn ich jetzt jedoch, wie von dir erwähnt, mir z.B. eine Kopie vom emotion Template anlege und darin jede Ableitung zum default Template entferne und mir anschließend alle .tpl und CSS Dateien so anpasse, wie ich sie brauche, dann sollte ich doch bei einem shopware Update keine Probleme bekommen oder? Natürlich werde ich dann keine Bugfixes bekommen, die das emotion Template selbst betreffen, aber generell kann mir durch ein Update mein Template nicht zerschossen werden oder? Letzte Frage: Der emotion und default Ordner unterscheiden sich ja dadurch, dass im default Ordner noch die Backend Dateien etc. enthalten sind. Wenn ich jetzt aus einem in meinem Template alle Vererbungen des default Template entferne, greift shopware dann immer noch auf den Backend Ordner in default zurück? Danke! edit: Ich habe jetzt den kompletten Inhalt aus default/frontend in einen Ordner emotion_custom kopiert und nehme dort jetzt meine Änderungen vor und umgehe somit ja anscheinend auch die Vererbung. Ist das… ok?