Frage zu Vererbung bei gekauften Template

Ich habe mir die Templatedokumantation durchgelesen aber trotzdem noch ein paar Fragen zur Vererbung. Das Template das ich mir bei store.shopware gekauft habe wird in dem Ordner …engine/Shopware/Plugins/Community/Frontend abgespeichert. Wenn ich das richtg versanden habe ist _default und _emotion das Mastertemplate, das beim Update auch immer wieder überschrieben wird. Frage: 1. Von wo wird den im Template vererbt? Bei meinem gekauften Template steht ja oben immer {extends file=‚parent:frontend/index/…tpl‘} 2. Wo ist der Unterschied zwischen _default und _emotion? Bei mir wird aktuell eine emotion.css eingebunden von /templates/_emotion/frontend/_resources/styles/emotion.css und auch css dateien von _default z.B. /templates/_default/frontend/_resources/styles/style.css. Alles sehr verwirrend :frowning:

Dann Frag ich mal ganz einfach. Von welchem Mastertemplate holt er sich die Vererbung _emotion oder _default?

Es sind jetzt drei Templates vorhanden: _default, _emotion, emotion_gekauft Die werden von der Template-Engine (Smarty) von links nach rechts abgearbeitet und aus der Summe aller wird das endgültige Template compiliert. Änderungen an gleicher Position werden von links nach rechts überschrieben. (a)_emotion überschreibt_default und (b) emotion_gekauft überschreibt das Ergebnis von (a). Dies passiert auf dem Server. Unabhängig von der Templatevererbung ist die CSS-Vererbung. Die CSS-Angaben aller eingebundenen CSS-Dateien werden vom Browser nacheinander interpretiert und ggf. überschrieben.

emotion_gekauft sind also alle anderen Templates die im Ordner templates angelegt werden oder wir bei uns gekauft sind? Welche CSS überschreibt denn welche?

emotion_gekauft war mein Synonym für das im Store gekaufte Template. @CSS: Grundsätzlich wird die CSS-Definiton genommen, die als letzte im HTML-Source-Code erscheint. Die CSS-Vererbung ist aber viel komplizierter und das kann ich unmöglich hier im Forum auf die Schnelle ausführen. Dort kommt es auch noch auf die Selektion der “HTML”-Elemente und die sich daraus ergebende Priorität an. Dokumentation: www.w3c.org und mit Tutorial: http://www.w3schools.com/ (linke Spalte) Vielleicht helfen die Tutorials im Shopware-Wiki, Templaterstellung für Designer weiter. Man kann mit den Developer Tools der Browser mit der Maus auf der Webseite festellen, welche Klassen/ID für das Aussehen verantwortlich sind. Dort kann man dann auch temporär die Werte ändern (findet nur im eigenen Browser statt). Wenn es einem gefällt, kann man im gekauften Template eine eigene CSS-Datei einbinden und dort diese Werte hinein kopieren. Dann würden sie immer im Shop angewendet.

okay, vielen Dank. Ich schau mir das nochmal genau an.

Hi, wenn du das gekaufte Template updatesicher anpassen möchtest, so musst du dies aktuell in _local machen. Gruß Patrick

Hi funktioniert dies auch, wenn das gekaufte Template weder von _default noch von _emoition erbt? In meinem Fall ist das Template ebenfalls gekauft, erstellen eines _local Ordners in ‚templates‘ Ordner bewirkt leider nichts. Viele Grüße, Edin

Hallo edin, was heißt “erstellen”? Die Ordner sollten unter /templates/ eigentlich schon vorhanden sein. Also /templates/_local/ und /templates/_emotion_local/ sollte es schon geben. /templates/_local/ sollte sich auf alle Templates vererbend, /templates/_emotion_local/ nur auf Templates mit Emotion Support. Grüße aus dem Münsterland Patrick Schücker

Kann es sein dass wenn man die frontend/index/index.tpl nicht extended, also nur übeschreibt, die Vererbung nicht mehr zieht bzw. man nicht mehr mit _local oder _emotion_local überschreiben kann? Kann das Shopwareteam das bestätigen? Wenn ja kann man das Verhalten umgehen? Beste Grüße

Neue Erkenntnis!! Wenn vererbt wird ist man nicht mehr flexibel. Beispiel: ZB. Tagcloud oder Breadcrumb verschieben / anders im Markup platzieren. Geht nicht, da die Smartyblöcke suboptimal platziert sind. (zb. body tag oder class=„container_20“ lassen sich nicht überschreiben da nicht im smartyblock) @ shopware AG: wird das Frontend auch irgendwann mal optimiert? :wink: beste grüße