Template switching

Wir haben schon eine ganze Reihe von Shops realisiert, die, anhand bestimmter Bedingungen, andere Templates verwenden. Für unsere Template-Entwicklung verwenden wir auch ein solches Konzept, um die Konsistenz der Software aller Shops sicher zu stellen: wir haben einen Entwicklungsshop, den wir dann per Template-, Bildpfad- und Datenbankumschaltung auf den jeweiligen Shopinhalt umschalten. Bei den bisher von uns betreuten Shop-Systemen (xtc/Gambio und OXID) war das relativ einfach zu lösen, da das Template entweder in einer PHP-Konstanten oder über eine Konfigurationsdatei definiert wurde, ebenso (alternative) Bildpfade. Bei Shopware ist das jedoch erst mal nur aus der Datenbank auszulesen… (Wie) Kann man das standardmäßig in der DB definierte Template per Konfigurationsdatei überschreiben? Und auch für die Bildpfade andere URLs definieren?

Hi, also Template umschalten ging mal recht einfach per URL in der 3.05. da sah das ganze so aus… http://www.meinshop.de/shopware.php/sTpl,10 Unter 3.5 funktioniert es leider so nicht mehr, aber gibt bestimmt auch noch einen Aufruf mit dem man so das Template wechseln könnte. Ansonsten würde sich das denke ich relativ leicht per Plugin lösen lassen. Viele Grüße Thomas

[quote=„TSchenk“]Hi, also Template umschalten ging mal recht einfach per URL in der 3.05. da sah das ganze so aus… http://www.meinshop.de/shopware.php/sTpl,10 Unter 3.5 funktioniert es leider so nicht mehr, aber gibt bestimmt auch noch einen Aufruf mit dem man so das Template wechseln könnte. Ansonsten würde sich das denke ich relativ leicht per Plugin lösen lassen. Viele Grüße Thomas[/quote] Hi Thomas, der Aufruf in 3.5 ist aber im Prinzip noch völlig identisch, nur gibt es ja keine Templatenummern mehr, sondern Template nahmen. Und am besten verwendest Du einen etwas anderen Aufbau in der URL. Ein Aufruf wäre also dann wie folgt z. B., habe ich gerade getestet und geht perfekt: http://www.meinshop.de/shopware.php?sTpl=blue Schönes WE noch! Stefan :shopware:

Jupp, geht perfekt damit. Grüße Frank

[quote=„Stefan Heyne“] http://www.meinshop.de/shopware.php?sTpl=blue[/quote] Ahhhh :slight_smile: an die Form hab ich net gedacht, alle anderen möglichen hab ich ausprobiert… :slight_smile: aber gut zu wissen, das es noch funktioniert… :slight_smile: Viele Grüße Thomas

[quote=„Stefan Heyne“]http://www.meinshop.de/shopware.php?sTpl=blue[/quote] Das heißt aber doch auch, dass ich z.B. in der config-Datei mit $\_GET['sTpl']='blue'; denselben Effekt erreichen kann, oder?

[quote=“avenger”][quote=“Stefan Heyne”]http://www.meinshop.de/shopware.php?sTpl=blue[/quote] Das heißt aber doch auch, dass ich z.B. in der config-Datei mit $\_GET['sTpl']='blue'; denselben Effekt erreichen kann, oder?[/quote] Jetzt fehlt mir nur noch die Möglichkeit, den Pfad für die Bilder umdefinieren zu können, um eine vollständige Umschaltung des Shops erreichen zu können…

Hey, da hatte ich dir „ganz am Anfang“ mal ein Beispiel für ein Plugin bereitgestellt, wo man einen abweichenenden Bild-Pfad definieren konnte. Du kannst das aber auch einfach über die .htaccess lösen: RewriteRule images/articles/(.\*) http://www.bildserver.de/images/articles/$1

1 Like

[quote=“Stefan Hamann”]Hey, da hatte ich dir “ganz am Anfang” mal ein Beispiel für ein Plugin bereitgestellt, wo man einen abweichenenden Bild-Pfad definieren konnte. Du kannst das aber auch einfach über die .htaccess lösen: RewriteRule images/articles/(.\*) http://www.bildserver.de/images/articles/$1 [/quote] Moin Stefan, mit der htacces trifft das nicht ganz meine Problematik, da ich ja abhängig von einer url/einem Template programmatisch einen kompletten Kontext-Switch im Shop vornehmen will (Template, DB, Bildpfad). Uns versetzt das in die Lage, mit nur einer Instanz der Shopware-Software, verschiedene Kundenshops zu bearbeiten. Wir werden ja unsere eigenes Standard-Template haben, das für alle von uns designten Shops gilt (und in “_local” abgelegt wird), und die projektspezifischen Templatedaten werden dann in einem Template auf der obersten Ebene liegen. Das hat den großen Vorteil, dass alle Verbesserungen in unserem Standard-Template allen Shops zu gute kommen, und dass das Standard-Template konsistent über alle unsere Shops ist. Und dass wir bei einem Shop-Update die meisten Template-Änderungen nur im Standard-Template stattfinden müssen, das für alle unsere Shops verwendet wird, eine wesentliche Aufwandsersparnis… (In dem projektspezifischen Templateteil sind erfahrungsgemäß nur ein paar wenige Template Dateien wirklich anders als im Standard-Template: Seitenlayout, Startseite, Artikleliste und Detailseite. Plus alles CSS und Grafiken (Buttons, Banner, Box-Header u.ä.)) Hast Du noch den Link zu dem Plugin-Beispiel? Wobei mir gerade einfällt, dass man wohl dann auch die Caches für alle Shops separat führen muss…

Also du willst völlig unabhängige Shops über ein Verzeichnis bedienen? Dann wäre es doch die bessere Strategie, die Templates und den Engine-Ordner (ggf. mit Ausnahme der Plugin-Strukturen) per Symlink-Hack aus einem zentralen Verzeichnis zu holen und in den Kundenverzeichnissen nur die individuell benötigten Verzeichnisse anzulegen - also z.B. cache / images etc.? Dann kannst du Templates & Engine zentral pflegen und die Kunden sind trotzdem komplett flexibel…

[quote=“Stefan Hamann”]Also du willst völlig unabhängige Shops über ein Verzeichnis bedienen? Dann wäre es doch die bessere Strategie, die Templates und den Engine-Ordner (ggf. mit Ausnahme der Plugin-Strukturen) per Symlink-Hack aus einem zentralen Verzeichnis zu holen und in den Kundenverzeichnissen nur die individuell benötigten Verzeichnisse anzulegen - also z.B. cache / images etc.? Dann kannst du Templates & Engine zentral pflegen und die Kunden sind trotzdem komplett flexibel…[/quote] Mit WINDOWS tut man sich damit etwas schwer…