Best Practice: Große Änderungen am Shop-Design umsetzen ?

Hallo,

aufgrund einer Designvorlage habe ich HTML-Seiten für eine Shopumsetzung programmiert.
Die Designvorlage für den Shop weicht [B]komplett[/B] vom Demo-Shop ab.

Ich würde gerne von Euch wissen wie ich am besten vorgehe um die Templates anzupassen [B](Shop: Oxid EE 4.20)[/B] ?

[B]Meine Idee:[/B]
Ich verwende nicht mehr _left.tpl und _right.tpl. Ich verschiebe alle Funktionalitäten aus diesen Templates in die anderen Templates (Content-Templates oder Header bzw. Footer).

Ich möchte auch nicht mehr die Look&Feel Funktionalität von Oxid verwenden und auch eine eigene css-Datei verwenden.

Kann es da zu Problemen bei Updates kommen ?
Seht Ihr bei der Strategie Probleme bzw. was haltet Ihr davon ?
Wie würdet Ihr an meiner Stelle vorgehen ?

Über Eure Hilfe wäre ich sehr dankbar

[QUOTE=mohakl;18472]
Kann es da zu Problemen bei Updates kommen ?
[/QUOTE]

http://www.oxid-esales.com/forum/showthread.php?t=2936

Ein Link sagt mehr wie tausend Worte.:frowning:

Wenn die Designvorlage von einen Kunden ist, mach den klar, dass jedes Update richtig arbeit ist und für ihn kosten sind.

Hallo Markus,

danke für Deine Antwort.
Den Beitrag habe ich gestern ebenfalls schon mit Grausen gelesen.

Aber der Punkt in dem Beitrag ist doch, dass die Gefahr darin besteht, dass Oxid einfach eine Funktion streicht und durch eine andere ersetzt.

Diese Gefahr hat man dann aber doch immer. Außer man ändert gar nichts an den Templates und ändert nur die CSS.

[B]Was denkst Du / haltet Ihr sonst von meiner Umsetzungsidee ?
Ich möchte einfach vermeiden zu Beginn bereits einen großen Fehler zu begehen, den ich später zeitlich nicht mehr aufholen kann.
[/B]

nicht nur. Es wurden bei diesen Update fast alle Links anders gemacht.
Von no-follow auf follow… Eigentlich für das Design nicht so wichtig, aber man muss halt trotzdem sämmtliche HTML-Dateien überprüfen, ob da was gravierendes geändert wurde.

Diese Gefahr hat man dann aber doch immer. Außer man ändert gar nichts an den Templates und ändert nur die CSS.

Benutze das Template-overwrite-system. Das gab es vorher nicht. Damit kann man dann aber schnell sehen, welche Dateien angepasst werden müssen.
Ändere wenn möglich nur die notwendigen Dateien.
Wenn etwas mit CSS geht, dann mache es damit.

Was denkst Du / haltet Ihr sonst von meiner Umsetzungsidee ?
Ich möchte einfach vermeiden zu Beginn bereits einen großen Fehler zu begehen, den ich später zeitlich nicht mehr aufholen kann.

Wenn Du die _left.tpl nicht brauchst, bleibt Dir nicht viel übrig.

Aber ich denke, dass es keinen Königsweg gibt, da ich vermute, dass nach den obigen Post OXID versuchen wird das Templating zu optimieren. Was dabei rumkommt, und inwieweit dass dann kompatibel bleibt ist fraglich.

Hallo Markus,

Dein Hinweis mit dem Template Override System war super.
Gefällt mir sehr gut.

Habe ich auch gleich erfolgreich getestet.

Vielen Dank für Deine Hilfe :slight_smile:

Für diejenigen, denen das Template Override System nichts sagt, hier der Link bei dem es unter den neuen Features beschrieben wird:
[B]http://www.oxidforge.org/wiki/Downloads/4.2.0[/B]

[QUOTE=mohakl;18476]Hallo Markus,

danke für Deine Antwort.
Den Beitrag habe ich gestern ebenfalls schon mit Grausen gelesen.

Aber der Punkt in dem Beitrag ist doch, dass die Gefahr darin besteht, dass Oxid einfach eine Funktion streicht und durch eine andere ersetzt.

Diese Gefahr hat man dann aber doch immer. Außer man ändert gar nichts an den Templates und ändert nur die CSS.

[B]Was denkst Du / haltet Ihr sonst von meiner Umsetzungsidee ?
Ich möchte einfach vermeiden zu Beginn bereits einen großen Fehler zu begehen, den ich später zeitlich nicht mehr aufholen kann.
[/B][/QUOTE]
Na ja, so die richtig große Auswahl bleibt Dir da ja nicht:

Entweder Du machst ein eigenständiges Design mit (stark) geänderten Template-Dateien, oder Du machst den 1001. (optisch) langweiligen OXID-Shop (wo man gar nicht mehr das Copyright-Statement im Fuß lesen muss, um zu wissen, dass das ein OXID-Shop ist)…

Die von mir angesprochene Templating-Problematik hat (bis auf ein paar verbesserungsfähige Dinge wie in http://www.oxid-esales.com/forum/showthread.php?t=3011#post17718 angesprochen) auch [B]nicht [/B]speziell mit OXID zu tun, sondern ist halt in der Natur der Sache begründet.

Dinge ändern sich, und dem muss man halt Rechnung tragen,

Wenn man komplexe Shop-Designs wie z.B. http://digital-readers.de/ realisieren will, dann [B]ist [/B]halt ein ziemlich radikaler Umbau des Templates, mit allen daraus resultierenden Update-Konzequenzen, notwendig.

(Und ich denke nach wie vor, dass OXID mit Smarty als Templating Engine immer noch wesentlich anwenderfreundlicher ist als z.B. Magento, da ist man [B]wirklich[/B] verloren.)

Ich denke aber schon, dass man zusammen mit OXID, das weiter optimieren kann. (Wobei mich eigentlich schon wundert, dass die Thematik, gemessen an der Diskussionsbeteiligung, eigentlich nur 2 Leute so richtig zu interessieren scheint… Wo sind die ganzen Template-Entwickler, die da ja sicher auch ihre Erfahrungen und Vorschläge beisteuern könnten/sollten?)

Und auch, dass die OXID-Entwickler künftig die Änderungen auf das unbedingt notwendige beschränken, und sich die eine oder andere rein kosmetische Änderung “verkneifen” werden.

Zum Template overwriting:

Für Agenturen ist das ein Segen, da man bei vernünftiger Organisation, auch [B]viele [/B]Kunden mit [B]einem [/B]gemeinsamen Basis-Template (das natürlich [B]nicht [/B]das OXID-Standard-Template ist) bedienen, und schnell und kostengünstig updaten kann.

Ich bin im Moment dabei den 2. OXID-Shop auf Basis [B]meines(!) [/B]neuen Standard-Templates umzusetzen, und es zeichnet sich (erwartungsgemäß) ab, dass man hier wohl im wesentlichen mit [B]kundenspezifischen [/B]Versionen der “[B]details.tpl[/B]”, “[B]product.tpl[/B]” und meiner “[B]_index.tpl[/B]” (zur Definition des Shop-Layouts) auskommen können wird.

So dass man den [B]großen Rest [/B]eines Templates für [B]alle[/B] Kunden nur [B]einmal[/B] updaten muss… (Die “_index.tpl” wird wohl auch nie ein Update brauchen.)

Den Rest kann man (via CSS) so manipulieren, dass sich [B]alle [/B]denkbaren Designs daraus ableiten lassen werden (und natürlich [B]nicht [/B]alle unsere Shopdesigns sich dann ähnlich sehen werden…).

Shop-Betreiber mit einem Shop werden m.E. aber relativ wenig davon haben, außer, sie machen nur sehr geringe Änderungen in Teilen des Templates.

Fazit:

Nachdem sich der erste “Schock” bezüglich des 4.2.0-Template-Updates bei mir gelegt hat, bin ich jetzt wieder sehr zuversichtlich, sehr gut mit dem OXID-Templating leben zu können, auch bei (hoffentlich) [B]sehr [/B]vielen Template-Kunden mit OXID-Shops…:smiley:

[QUOTE=avenger;18493]Fazit:

Nachdem sich der erste “Schock” bezüglich des 4.2.0-Template-Updates bei mir gelegt hat, bin ich jetzt wieder sehr zuversichtlich, sehr gut mit dem OXID-Templating leben zu können, auch bei (hoffentlich) [B]sehr [/B]vielen Template-Kunden mit OXID-Shops…:D[/QUOTE]

@avenger: Danke für Deinen Beitrag.

Der erste Schock nach dem Lesen Deines Beitrags hat sich bei mir auch gelegt :slight_smile:

Ich denke das Template Override System wird mir auf jeden Fall weiterhelfen.

Ein wenig Angst habe ich dennoch vor dem ersten Update.

Hallo,

ich wollte mal ein erstes Feedback geben.

[B]Das Template Override System ist super.[/B]

Für eine Komplettänderung des Shops ist zuerst einmal das Template _header.tpl am wichtigsten, da hier die komplette Seitenstruktur vorgegeben wird.

Wenn man z.B. nicht das dreispaltige Layout möchte, muss man _left.tpl und _right.tpl im _header.tpl rausnehmen. Die Funktionen aus _left.tpl und _right.tpl verschiebt man dann entweder in _header.tpl oder in die Content-Templates.

[B]Was mir beim Template Override System aufgefallen ist:[/B]
Bei den Templates muss man in seinem Override-Ordner nur die Template-Dateien gespeichert haben, die man auch überschrieben hat.
So soll es ja auch sein.

Jetzt wollte ich das analog zu den Templates auch mit meinen Sourcen (css,js) machen. Ich habe jquery in meinem Override-Ordner unter src eingebaut.
Die hat er auch wunderbar erkannt.
Nur die oxid.js usw. hat er nicht mehr gefunden.
Ich musste also alle Dateien von basic/src auch in meinem Override-Ordner in src reinkopieren.

Wahrscheinlich ist das auch nicht der Sinn von Template Override, dass man die src überschreibt. Aber wäre auf jeden Fall genial, wenn es trotzdem funktionieren würde :slight_smile:

[QUOTE=mohakl;18602]Jetzt wollte ich das analog zu den Templates auch mit meinen Sourcen (css,js) machen. Ich habe jquery in meinem Override-Ordner unter src eingebaut.
Die hat er auch wunderbar erkannt.
Nur die oxid.js usw. hat er nicht mehr gefunden.
Ich musste also alle Dateien von basic/src auch in meinem Override-Ordner in src reinkopieren.

Wahrscheinlich ist das auch nicht der Sinn von Template Override, dass man die src überschreibt. Aber wäre auf jeden Fall genial, wenn es trotzdem funktionieren würde :)[/QUOTE]
Nun, das kann ja nicht funktionieren, weil diese Dateien nicht direkt von der Shop-Software eingebunden werden, sondern über Links in der" _header.html".

Und da liegt auch die Lösung: einfach diese Links entsprechend anpassen…

[QUOTE=avenger;18619]Nun, das kann ja nicht funktionieren, weil diese Dateien nicht direkt von der Shop-Software eingebunden werden, sondern über Links in der" _header.html".

Und da liegt auch die Lösung: einfach diese Links entsprechend anpassen…[/QUOTE]

:slight_smile: Touché avenger.
Da hast Du natürlich vollkommen recht.

Danke.

Am besten mit


<script type="text/javascript" src="[{strip}]
[{if 'path/to/overwrite/template/oxid.js'|@file_exists}]
  path/to/overwrite/template/oxid.js
[{else}]
  path/to/main/template/oxid.js
[{/if}]
[{/strip}]"></script>

Irgendwie kommt man auch im Template an Config Variablne ran, weiß aber derzeit nicht wie.

Währe auch ein Featue für Oxid selber.

Hallo,

und schon mal sorry. Alle finden das Template Override so toll. Ich will och toll finden. Ich finde aber gerade keine Docu. Muss da ein neuer Template Ordner in ‘out’? Also so mal kurze hinweise in welche richtung ich gehen könnte. Das wäre echt super.

Schon mal danke!

Gruß

Marcus

Template Override System: New custom theme config option “sCustomTheme” added to conig.inc.php for easier customization maintenance.
Custom theme directory structure is the same as main theme, with all variations.
If there is a custom theme defined, the shop will try to locate resources in it first. This is also valid for files included in smarty temlates using [{include file=“***”}]
E.g., if you just want to change “start.tpl”, simply add it to /out/custom/tpl/start.tpl and set sCustomTheme to “custom”.
For directory based resources path getter like css or js, you will need to copy the complete tree to custom theme folder.

http://www.oxidforge.org/wiki/Downloads/4.2.0

PS: Auf diese Seite kommt man glaube ich nur über die Suche. Vielleicht könnte man die Kategorie Downloads:
http://www.oxidforge.org/wiki/Category:Downloads
in die Navigation aufnehmen.

[QUOTE=web-spirits;21919]Hallo,

und schon mal sorry. Alle finden das Template Override so toll. Ich will och toll finden. Ich finde aber gerade keine Docu. Muss da ein neuer Template Ordner in ‘out’? Also so mal kurze hinweise in welche richtung ich gehen könnte. Das wäre echt super.

Schon mal danke!

Gruß

Marcus[/QUOTE]
Ich würde mal so sagen: wenn Du das bisher nicht vermisst hast, brauchst Du das wohl nicht… :slight_smile:

[QUOTE=avenger;22167]Ich würde mal so sagen: wenn Du das bisher nicht vermisst hast, brauchst Du das wohl nicht… :)[/QUOTE]

Ich würde mal sagen: Ich nutze Oxid erst seit zwei Wochen!