Template sichern

Hallo liebe Freunde, ich habe folgende Frage(kann sein auch eine leichte Frage, Bitte nicht auslachen): wir mussen unser Shop jetzt updaten, es sind mittlerweile 3 Updates vorhanden. Habe sehr lange an dem Template gesesen, anpassungen, da ich mich bis heute damit(mit einem Shop) einfach nie beschäftigt hatte. Habe mein eigenes Template am Anfang an(also nach Installation) nicht erstellt. Habe also wahrscheinlich an dem Haupt Template alle Anpassungen gemacht. Wie gehe ich jetzt vor? Kann ich das Tepplate jetzt kopieren und den unter anderem Namen abspeichern. Und dann einfach Name ändern? Ich habe Angst, dass wenn ich jetzt Update instaliere, dann sind alle unsere anpassungen, Texte, Logo, usw. weg. Bitte um Unterstützung. Vielen Dank im Voraus! Dimi

Du brauchst keine Angst haben. Nur beim update von 4.08 auf die 4.1 stellt sich der Zeilengrösse der Einkaufswelt wieder auf den Standardwert 185px Du musst dir nur aufschreiben welchen Wert du da jetzt hast und nach dem update wieder eingeben. Allerdings würd auch ich mir eine Sicherungsmöglichkeit wünschen.

Wir haben Version 4.0.3

Die Frage ist ja, in welchem Template-Ordener gearbeitet wurde: _default, _emotion oder emotion_??? Welches Template ist im Backend eingestellt? Diesen Ordner sichern. Mit Firefox + Firebug oder Google-Chrome die veränderten Elemente untersuchen, um zu erfahren, wo die Änderungen vorgenommen wurden. Hoffentlich nur in einem emotion_??? Ordner, denn in der _default oder _emotion wird durch ein Update gerne etwas verändert.

1 „Gefällt mir“

[quote=„inttrade“]Hallo liebe Freunde, Habe also wahrscheinlich an dem Haupt Template alle Anpassungen gemacht. Wie gehe ich jetzt vor? Kann ich das Tepplate jetzt kopieren und den unter anderem Namen abspeichern. Und dann einfach Name ändern? [/quote] Änderungen an den Haupttemplates heißt doch wohl, dass kein abgeleitetes Template existiert. Wenn es nicht sicher ist, dass Änderungen in _emotion oder _default gemacht wurden, darf auf keinen Fall ein Update gemacht werden. Man kann die auch nicht einfach kopieren und umbenennen! Sind die Änderungen zum Beispiel nur in emotion_organe oder emotion_red gemacht worden, reicht es aus, den Namen in emotion_meins zu ändern. Anschließend das Update machen und emotion_meins im Backend als aktives Template wählen. Bei modifizierten _emotion oder _default Ordnern muss man jede Datei mit den Dateien des Installers der betreffenden Shopware-Version vergleichen und in ein eigenes Template (emotion_meins) kopieren, falls sie modifiziert ist. Dann kann man aber auch nicht einfach ein Update machen. Unter Umständen werden die geänderten Template-Dateien in _emotion nicht überschrieben. Es ist aber wichtig, dass diese dem Shopware-Original-Zustand entsprechen. Am sinnvollsten ist es in diesem Fall, die Datenbank-Updates bis 4.0.8 durchzuführen und diese anschließend in eine neue saubere 4.0.8 Installation zu importieren. Hier kann man dann mit dem UPdater auf 4.1 fortfahren. Zum Schluss kopiert man dann das Template emotion_meins in den Template-Ordner und aktiviert es im Backend. Damit sind alle Änderungen übernommen. Es ist ratsam, zu überprüfen, ob man das Block-System bei den Änderungen beachtet hat. Wenn man eine _emotion-Template-Datei komplett kopiert und im eigenen Template verwendet, verliert man Änderungen im Block-System, die möglicherweise bei neueren Shopware-Versionen eingefügt wurden. Viele Grüße H. Thomas (info@mycetome.de)

Vielen Dank für die Antworten!!! Werde heute Abend reinschauen wo ich jetzt was verändert habe:wtf: Danach berichte ich wieder. Danke!!!

MeinRat dich nicht zu fürchten ist natürlich wie hth schreibt falsch wenn du tatsächlich im default oder emotion template gearbeitet hast . Wobei sich mein Mitleid da dann in Grenzen hält. Denn das ist auch für Anfänger nicht zwingend.

Also, gearbeitet wurde in dem Ordner _default. Im Backend ist der Ordner emotion_Black angewählt. Das Abgleichen aller Dateien mit den Dateien des Installers der betreffenden Shopware-Version, wird jetzt nicht einfach sein. Da ich einfach nicht mehr genau weis was und vor allem wo geändert wurde. Und nach Aussage “hth” zitiere: “kann man aber auch dann nicht einfach ein Update machen! Unter Umständen werden die geänderten Template-Dateien in _emotion nicht überschrieben. Es ist aber wichtig, dass diese dem Shopware-Original-Zustand entsprechen” Die Frage ist jetzt, wenn ich das Update mache, dann muss ich mit Verschwinden meiner Anpassungen(spricht Rückkehr aller Einstellungen wieder ins Ausgangssituation)rechnen, oder funktioniert dann das Template garn nicht mehr?

[quote=“inttrade”]Also, gearbeitet wurde in dem Ordner _default. Im Backend ist der Ordner emotion_Black angewählt. Das Abgleichen aller Dateien mit den Dateien des Installers der betreffenden Shopware-Version, wird jetzt nicht einfach sein. Da ich einfach nicht mehr genau weis was und vor allem wo geändert wurde. Und nach Aussage “hth” zitiere: “kann man aber auch dann nicht einfach ein Update machen! Unter Umständen werden die geänderten Template-Dateien in _emotion nicht überschrieben. Es ist aber wichtig, dass diese dem Shopware-Original-Zustand entsprechen” Die Frage ist jetzt, wenn ich das Update mache, dann muss ich mit Verschwinden meiner Anpassungen(spricht Rückkehr aller Einstellungen wieder ins Ausgangssituation)rechnen, oder funktioniert dann das Template garn nicht mehr?[/quote] Für eine korrekte und vorhersagbare Funktion von Shopware müssen die _default und _emotion Dateien dem Originalzustand entsprechen! Template-Dateien bauen alle aufeinander auf. Dies ist das Grundprinzip der Template-Engine (Smarty). Wenn eine der _default Dateien geändert wurde, dann entsteht daraus eine veränderte _emotion-Standard-Datei. Wies sich das im Ende auswirkt kann niemand generell sagen, es kommt auf den Einzelfall an. Probleme können auch z. B. mit einem Plugin auftauchen, das auf der _default Datei aufbaut, dann sucht man sich nach der Fehlerquelle dumm und dusselig. Leider gibt es immer wieder “Experten”-Vorschläge im Forum, Änderungen in _default und _emotion vorzunehmen. Sogar bei kommerziellen Arbeiten kommt dies vor. Es funktioniert nicht und die Wartung/Updates dieser Systeme wird praktisch unmöglich. Ich habe es kürzlich erst wieder erlebt. Wenn die _default Datei beim Update überschrieben wird, sind die Änderungen futsch. Wird sie nicht überschrieben, tritt obiges Szenario ein. Wie umfangreich sind denn die Änderungen? In der Regel ist es in so einem Fall sinnvoller, das abgeleitete Template neu aufzubauen. Viele Grüße H. Thomas (info@mycetome.de)

Danke hth für deine Antworten, für die Zeitinvestition!!! Änderungen sind nicht großartig umfangreich. Wie du es sagst, es können später Probleme auftauchen wenn man es jetzt nicht richtig macht, also muss ich damit leben es auch neu gestalten zu müssen. Wie gehe ich jetzt am besten vor?

[quote=“inttrade”]Danke hth für deine Antworten, für die Zeitinvestition!!! Änderungen sind nicht großartig umfangreich. Wie du es sagst, es können später Probleme auftauchen wenn man es jetzt nicht richtig macht, also muss ich damit leben es auch neu gestalten zu müssen. Wie gehe ich jetzt am besten vor?[/quote] Am besten uns beauftragen ;). Ohne die Seite zu kennen, kann ich dazu jetzt eigentlich auch nur ganz allgemein sagen: Ein abgeleitetes Template in einer neuen Shopware-Version erstellen. Die alte Datenbank bis 4.0.8 aktualisieren und anschließend mit dem Update-Skript auf 4.1 migrieren und dann weiter auf die aktuelleste Version. Die aktualisierte Datenbank (Stand 4.0.8) in das neu installierte Shopware 4.0.8 importieren. Könnte Probleme mit einigen Plugins geben. Die würde ich vorher deaktivieren (im Backend). Ein Link auf die Seite wäre hilfreich. Am besten per Email oder PM. Ich lese nicht alle alten Beiträge von mir regelmäßig. Viele Grüße HTH (info@mycetome.de)

1 „Gefällt mir“

Hallo, noch mal Vielen Dank an alle beteiligten! Haben uns jetzt entschieden, den Shop einfach mal zu deinstallieren und komplett neu aufzusetzten. Um die Fehler, die durch weitere Updates entstehen könnten, zu vermeiden. MfG inttrade

ist doch kein problem. versteh eure sorgen nicht. _default kopieren und umbenennen (z.b mytpl). styles und grafiken von _black hinzufügen. template (mytpl) im backend zuordnen, fertig. updates wie gewohnt ausführen.

[quote=“pino”]ist doch kein problem. versteh eure sorgen nicht. _default kopieren und umbenennen (z.b mytpl). styles und grafiken von _black hinzufügen. template (mytpl) im backend zuordnen, fertig. updates wie gewohnt ausführen.[/quote] Ich dachte es geht nicht!? Aus den Beiträgen davor hieß es das ist mit Problemen verbunden!?

[quote=“inttrade”][quote=“pino”]ist doch kein problem. versteh eure sorgen nicht. _default kopieren und umbenennen (z.b mytpl). styles und grafiken von _black hinzufügen. template (mytpl) im backend zuordnen, fertig. updates wie gewohnt ausführen.[/quote] Ich dachte es geht nicht!? Aus den Beiträgen davor hieß es das ist mit Problemen verbunden!?[/quote] Das geht auch nicht! Wenn man es so macht, hat man ein nicht dem Standard entsprechendes default Template und kein angepasstes emotion Template als Endergebnis. Dann schon lieber das Template neu aufbauen. Das aktuelle End-Template ist eine Kombination aus _default und _emotion. Nenne ich _default nun einfach mein Template, würden die Anpassungen des _default durch das mein-Template wieder auf ein _default zurückgesetzt. Jede Anapssung im Default oder Emotion-Template von Shopware in einer kommenden Version würde dann auch wieder mit der veralteten Default-Version überschrieben.

na dann macht man aus mytpl emotion_mytpl. die dateien, die nicht angepasst wurden und dem _default entsprechen einfach löschen. alle anderen mit include(‚parent:pfad/zu/tpl.tpl‘). dann hat man sein emotion fertig. hauptsache man ist weg von _default und _emotion. man kann _default oder _emotion durchaus kopieren und seine eigene welt aufbauen. es ist halt nur praktisch auf fertige *.tpl zurück zu greifen. @inttrade für die zukunft, kopier dir eine emotion_* und benenne sie um (z.B. emotion_{projektname}). mach deine gestaltung mit css, images, tpl und all dem zeugs. wie du nun weißt, auf gar kein fall keine anpassungen am _default oder _emotion machen. kopier dir die benötigten ordner/datei.tpl in dein projekt und mach da deine anpassungen.

[quote=“pino”]na dann macht man aus mytpl emotion_mytpl. die dateien, die nicht angepasst wurden und dem _default entsprechen einfach löschen. alle anderen mit include(‘parent:pfad/zu/tpl.tpl’). dann hat man sein emotion fertig. hauptsache man ist weg von _default und _emotion. man kann _default oder _emotion durchaus kopieren und seine eigene welt aufbauen. es ist halt nur praktisch auf fertige *.tpl zurück zu greifen. @inttrade für die zukunft, kopier dir eine emotion_* und benenne sie um (z.B. emotion_{projektname}). mach deine gestaltung mit css, images, tpl und all dem zeugs. wie du nun weißt, auf gar kein fall keine anpassungen am _default oder _emotion machen. kopier dir die benötigten ordner/datei.tpl in dein projekt und mach da deine anpassungen.[/quote] Hallo, habe ich dich jetzt richtig verstanden, den Ordner z.B. emotion_red kopieren, den umbenennen in z.B. emotion_my, dann einfach die ganze Ordner Sruktur aus dem _emotion kopieren und in mein Ordner einfügen?

Hallo inttrade, es muss genau so gemacht werden, wie wir es besprochen hatten. Von der aktuellen Version darf auf keinen Fall eines der Standardtemplates kopiert werden, da dann in Zukunft die Aktualisierungen der Standardtemplates von Shopware nicht mehr richtig funktionieren. Man kann eines der emotion_red.tpl einfach umbenennen und spart sicht dann das Anlegen der Order und weniger Standardadteien. Möchte man die CSS-Definitionen von emotion_red verwenden, benutzt man die emotion_red.css und schreibt alle eigenen CSS-Ergänzungen in diese Datei. Für alle anderen Template-Dateien (Smarty = mit .tpl als Endung) legt man eine Datei gleichen Namens in einen Unterordner gleichen Namens in emotion_meins.tpl (die oben umbenannte emotion_red) an, schreibt an den Anfang der DAtei die extend-Zeile und führt die Änderungen an den einzelnen Blocks durch (Block überschreiben, append oder prepend). Dann hat man ein updatesicher abgeleitetes Template und profitiert von den Vorzügen des Shopware-Standardtemplates. Bei einigen wenigen z. B. mit include eingebundenen tpl-Dateien braucht man evtl. auch keine extend-Zeile. Bei allen anderen Vorgehen, verlässt man den Vererbungspfad der Template-Engine und ist vollkommen auf sich alleine gestellt, muss alle Updates manuell anpassen. Die Template-Engine ist darauf ausgelegt, dass im Standard-Templates die Blöcke definiert werden. In allen abgeleiteten Templates sollen/können nur doch Änderungen innerhalb der Blöcke durchgeführt werden. Kopiert man eine komplette tpl-Datei aus _emotion (_default erzeugt noch mal neue Probleme) und schreibt nur die extend-Zeile an den Anfang, bekommt man trotzdem keine Updates durch extend.Vererbung. Man überschreibt nämlich immer alle Standard-Blöcke von Shopware mit den potenziel veralteten Blöcken anstatt sie nur zu modifizieren. Natürlich kann man so vorgehen, dann hat man aber ein komplett eigenes Template - im Sinne ich muss mich um ALLES selber kümmern- und das ist ja gerade nicht gewünscht. Gewünscht ist eine Anpassung des Standardtemplates, letztlich um Geld zu sparen. Viel Erfolg H. Thomas [quote=„inttrade“][quote=„pino“]na dann macht man aus mytpl emotion_mytpl. die dateien, die nicht angepasst wurden und dem _default entsprechen einfach löschen. alle anderen mit include(‚parent:pfad/zu/tpl.tpl‘). dann hat man sein emotion fertig. hauptsache man ist weg von _default und _emotion. man kann _default oder _emotion durchaus kopieren und seine eigene welt aufbauen. es ist halt nur praktisch auf fertige *.tpl zurück zu greifen. @inttrade für die zukunft, kopier dir eine emotion_* und benenne sie um (z.B. emotion_{projektname}). mach deine gestaltung mit css, images, tpl und all dem zeugs. wie du nun weißt, auf gar kein fall keine anpassungen am _default oder _emotion machen. kopier dir die benötigten ordner/datei.tpl in dein projekt und mach da deine anpassungen.[/quote] Hallo, habe ich dich jetzt richtig verstanden, den Ordner z.B. emotion_red kopieren, den umbenennen in z.B. emotion_my, dann einfach die ganze Ordner Sruktur aus dem _emotion kopieren und in mein Ordner einfügen?[/quote]

Hallo, ich spiele auch gerade mit dem Gedanken, das Standard Template zu individualisieren. Habe ich das richtig verstanden, das Änderungen in den Ordnern _default und _emotion nicht machbar sind, auch wenn sie im jeweiligen Localordner sind? Ich habe die den Ordner emotion in den emotion_local kopiert und Änderungen werden wie gewünscht ausgeführt. Den _default habe ich auch als Kopie in den Ordner _local verschoben hier werden aber Änderungen nicht durchgeführt.

[quote=„lanlaecheln“]Hallo, ich spiele auch gerade mit dem Gedanken, das Standard Template zu individualisieren. Habe ich das richtig verstanden, das Änderungen in den Ordnern _default und _emotion nicht machbar sind, auch wenn sie im jeweiligen Localordner sind? Ich habe die den Ordner emotion in den emotion_local kopiert und Änderungen werden wie gewünscht ausgeführt. Den _default habe ich auch als Kopie in den Ordner _local verschoben hier werden aber Änderungen nicht durchgeführt.[/quote] Die _local und _emotion_local Ordner überschreiben alle anderen Template-Dateien/Definitionen. Mann kann also seine Änderungen dort durchführen. Ist aber schlechter Stil und verursacht verschiedene Probleme. Die Updatefähigkeit ist z. B. nicht mehr gegeben, man überschreibt ja immer die neuen, aktuellen Dateien aus _default und _emotion komplett. Den vorgesehenen und sinnvollen Weg habe ich ja beschrieben. Und im Wiki steht er auch. Ich verstehe allerdings, wenn man mit diesem „Tutorial“ nicht glücklich ist. Ich gehe mal der Reihe nach vor: 1. _default in den Ordner _local zu kopieren ist Mumpitz! Sofor wieder löschen. Alle Dateien in _default sind die Grundlage aller abgeleiteten Templates. Sie werden immer berücksichtigt. Kopiert man den einfach nach _local ist es im günstigsten Fall redundant, werden _default-Dateien bei einem Shopware-Update aktualisiert, werden die Änderungen aber nicht mehr übernommen. 2. Niemals Änderungen in _emotion und _default durchführen. 3. Möglichst niemals Template-Dateien komplett kopieren, sondern immer nur die Blöcke erweitern - wie oben beschrieben. Es gibt einige wenige Ausnahmen. Kopieren bedeutet immer, die Updatefähigkeit zu verlieren und der Template-Engine ins Handwerk zu pfuschen. 4. Immer ein abgeleitetes Template emotion_mein erstellen und dieses im Backend aktivieren - oben das Beispiel mit emotion_red nach emotion_meins. Mir ist bislang noch kein Fall begegnet, bei dem Änderungen in _local oder _emotion_local notwendig waren. In den seltenen Fällen wo man von dem beschriebenen Vorgehen abweichen muss/will, benötigt man ein wirklich gutes Verständnis der Template-Erzeugung bei Shopware und der z. B. durch die jQuery-Dateien erzeugten Shopfunktionen. Viele Grüße H. Thomas (info@mycetome.de)