Pro Kategorie ein Template

Besteht die Möglichkeit mit Wechsel der Kategorie auch das Shop Template zu ändern?

Standardmäßig: nein. Ein Template ist an einen Shop gebunden. Viele Grüße

Ich muss da ein wenig widersprechen. Es ist nicht sehr komfortabel aber du kannst dir für die Kategorien schon eigene Templates innerhalb des Shops anlegen. Das gilt da für die Sachen die in der Listing Datei stehen. Header & Footer usw. geht aber auch mit ein wenig Mehraufwand. Sent from my iPhone using Tapatalk

Hi, das Template wird in /engine/Shopware/Plugins/Default/Core/Router/Bootstrap.php gesetzt. Rein experimentell kann man sich auf Enlight_Controller_Front_RouteStartup registrieren und im Eventlistener dann folgendes machen: $template = Shopware()-\>Models()-\>getRepository('Shopware\Models\Shop\Template')-\>findAll(); Shopware()-\>Shop()-\>setTemplate($template[array\_rand($template)]); Dadurch wird bei jedem Request ein Zufallstemplate gesetzt, sollte man sich ja entsprechend anpassen können. Weiß gerade nicht, ob da noch an anderer Stelle eingegriffen wird, müsste man sich nochmal ansehen - im Backend würde das jetzt bspw. nicht gehen, da gibt es ja keinen Shop. lG Daniel

Vielen Dank für Eure Antworten. Kann man das vielleicht über die Funktion „Shops“ umsetzen?

Hallo, vielleicht ist hier zuerst die Frage zu klären, was ein neues Template im Sinne des Fragestellers ist. Falls wir von grafischen Änderungen des Layouts oder einer angepassten Ausgabe der einzelnen Variablen je Kategorie reden, dann ist dies einfach über die Template-Engine und Anpasung der Smarty-Plugins zu realisieren. Die Kategorieabfrage kann man z. B. über die ID oder ein Freitextfeld steuern. Ein “experimenteller” Eingriff in den Core wäre dann mit “Kanonen auf Spatzen schießen”, oder? Viele Grüße

1 Like

Danke für deine Antwort hth, ich bin erstmal davon ausgegangen das hier nur grafische Änderungen erforderlich sind die sich auf die in der listings.tpl befindenden Smarty Blöcke und ein paar css Klassen beziehen. [quote]Die Kategorieabfrage kann man z. B. über die ID oder ein Freitextfeld steuern.[/quote] Alternativ kann das Template nach dem anlegen bei der Kategoriekonfiguration über das Backend ausgewählt werden. Ich denke man braucht mal ein paar mehr Infos vom Fragensteller um hier gezielt weiter helfen zu können.

1 Like

Danke nochmals für die Antworten. Ich möchte z.B. eine Kategorie Mädchen und Jungen anlegen. Demnach soll das Aussehen des Shops etwas ändern, inkl. des Logos.

[quote=“V:IP”]Danke nochmals für die Antworten. Ich möchte z.B. eine Kategorie Mädchen und Jungen anlegen. Demnach soll das Aussehen des Shops etwas ändern, inkl. des Logos.[/quote] Hallo, das ist über eine Template-Anpassung, also der entsprechenden TPL-Dateien, zu realisieren. Hierbei handelt es sich ja nicht um ein “komplettes” Template, sondern um die selektive Ausgabe einzelner Bestandteile z. B. des Logos. Das ist unter anderem die typische Aufgabe der Template-Engine. Wie man dies nun am sinnvollsten realisiert, hängt vom Umfang und dem genauen Typ der Änderung ab. Man kann z. B. eine alternative CSS-Datei abhängig von der Katgeorie einbinden lassen. Ist es “nur” das Logo, dann muss man nur die Stelle anpassen an der das Logo eingebunden wird. Smarty bietet hiefür beispielsweise {if}-Abfragen an und als Bedingung könnte man die Kategorie-ID nehmen, die in einer Variable dem Smarty-Template von Shopware zur Verfügung gestellt wird. Alternative ein Kategoriefreitextfeld. Der ganze Controller/Backend/Plugin-Kram ist glücklicherweise in den Fällen überflüssig. Viele Grüße H. Thomas (info@mycetome.de)