Hi Leute, seit gestern beschäftige ich mich mit Shopware und bin bisher schwer begeistert. Besonders das schön durchdachte Backend hat´s mir angetan. Um etwas in die Marterie einzusteigen, beschäftige ich mich momentan mit dem Template-Tutorial. Eigentlich ist bisher alles super dort drin beschrieben, allerdings komm ich schon ziemlich am Anfang nicht weiter. Irgendwie schein ich da was falsch gemacht zu haben. Also am Anfang logge ich mich halt per FTP ein und erstelle einen neuen Ordner “my_template” unter “templates”. In diesen Ordner dann das gesamte (leere) Frontend aus dem Downloadbereich reinkopiert. Die Ordnerstruktur steht also und scheint so auch richtig zu sein. Als nächstes soll man eine leere CSS Datei (tutorial.css) unter “my_template/frontend/_resources/styles/” erstellen und dort den Inhalt der “colors.css” aus dem default-Theme reinkopieren. -> Auch erledigt! Jetzt kommt die Stelle wo ich zum ersten Mal stutze. [quote] Wenn wir jetzt unseren Browser aktualisieren (vorausgesetzt wir haben in der Templateauswahl unser eigenes Template gewählt) sehen wir, dass nichts passiert ;(. Das liegt daran, dass wir Shopware noch nicht mitgeteilt haben, dass es unsere “tutorial.css” laden soll. [/quote] Ich geh also ins Backend und wähle in der Templateauswahl das Template “my_template” aus, dass in der Vorschau als komplett weißes Bild angezeigt wird. Wenn ich es also auswähle und mir den Shop anschaue wird mir dann scheinbar das Default-Template angezeigt (das rote). Ist das normal so? Ich hatte eigentlich ne komplett weiße Seite erwartet. Oder läuft es bei Shopware so ab, dass die Dateien immer aus dem Default-Ordner genommen werden, es sei denn im gewählten Template-Ordner befindet sich eine Datei mit anderen Daten? Wenn es so wäre, dann kann ich mir den nächsten Schritt aber nicht erklären. Unter “Dateien” einbinden wird nun im Prinzip erklärt wie man die soeben erstellte “tutorial.css” einbindet. Hier soll man nun die “header.tpl” (Standardtemplate) öffnen und den Block mit der Bezeichnung “frontend_index_header_css_screen” finden und uns diesen Block anschauen. Jetzt wieder eine eigene (leere?) header.tpl erstellen (im tutorial-template) und dort die 2 Codezeilen einfügen: {extends file="../\_default/frontend/index/header.tpl"}
{block name="frontend\_index\_header\_css\_screen"} <link type="text/css" media="screen, projection" rel="stylesheet" href="%7Blink%20file='frontend/_resources/styles/tutorial.css'%7D">{/block}
Das hab ich genauso getan. Jetzt ist folgendes zu lesen: [quote] Wir speichern die Änderungen und aktualisieren den Browser und sehen nun, dass jetzt unsere “tutorial.css” geladen wird aber alle anderen CSS-Dateien, die in dem Block definiert waren, ausgeblendet werden. [/quote] Wenn ich diese Datei hochlade, den Browser aktualisiere (und sogar den Cache leere) tut sich bei mir überhaupt nichts. Ich kann so oft reloaden wie ich will, es wird immer noch das (scheinbare) Standardtemplate angezeigt. Auch Firebug zeigt mir nirgendwo an, dass eine “tutorial.css” geladen wurde. Hat jemand ne Ahnung was ich falsch gemacht hab? :wtf:
Hallo, also ich weiß nicht genau, wie der Inhalt des Downloads aussieht, klingt aber danach, das nur die Ordnerstruktur angelegt wird. Also sind noch keine weiteren Dateien in deinem my_templateenthalten. Falls dem so ist, ist es normal das du keine weiße Seite siehst. Denn wenn dein Template eingestellt ist, und dem System fehlt eine Datei, z.b. die header.tpl in deinem my_template-Ordner, werden automatisch immer die FallBack-Template-Dateien genutzt. Du musst also zwingen min. 1 Template Datei anlegen, damit du überhaupt eine Änderung siehst. Und immer schön den Cache leeren nicht vergessen Viele Grüße Thomas
Hey MEStake, danke für das Lob :thumbup: [quote]Ich geh also ins Backend und wähle in der Templateauswahl das Template “my_template” aus, dass in der Vorschau als komplett weißes Bild angezeigt wird. Wenn ich es also auswähle und mir den Shop anschaue wird mir dann scheinbar das Default-Template angezeigt (das rote). Ist das normal so?[/quote] Vollkommen richtig, Shopware bietet eine Templatevererbung an, welche die Dateien aus dem Mastertemplate nimmt, falls im abgeleiteten Template die benötigte Datei nicht zur Verfügung steht. [quote]… Jetzt wieder eine eigene (leere?) header.tpl erstellen (im tutorial-template) …[/quote] Ach richtig, du fügst die beiden Codezeilen in eine leere “header.tpl”, welche sich unter “my_template/frontend/index/” befindet. [quote] Wenn ich diese Datei hochlade, den Browser aktualisiere (und sogar den Cache leere) tut sich bei mir überhaupt nichts. Ich kann so oft reloaden wie ich will, es wird immer noch das (scheinbare) Standardtemplate angezeigt. Auch Firebug zeigt mir nirgendwo an, dass eine “tutorial.css” geladen wurde. [/quote] Dies liegt daran, dass in deiner Session von Shopware noch das “_default”-Template gewählt ist. Um dein gewähltes Template anzuzeigen ist es nötig, dass du deinen Sitzungscookie löscht (… kann hierfür das Webdeveloper Plugin empfehlen) oder du hängst beim Aufruf deines Shop den Parameter sTpl=[DEIN_TEMPLATENAMEN] an. http://meinshop.de/?sTpl=my\_template
Dadurch erzwingst du den Wechsel des Templates. Hoffe ich konnte weiterhelfen Grüße Stephan
Danke für die raschen Antworten :thumbup: Gut, dann blick ich schonmal etwas hinter das System. Mein Fehler scheint dann aber irgendwo anders zu liegen, denn auch das löschen der Session-Cookies und auch der Aufruf des Parameters „sTpl=[DEIN_TEMPLATENAMEN]“ bringt überhaupt keine Veränderung. Der Aufruf funkioniert, denn die anderen Standard-Templates werden so alle direkt geladen, ohne Probleme. Aber beim Tutorial-Template wird das rote Template geladen und alles ist vorhanden, nichts ist weg und die tutorial.css taucht nirgendwo auf. Hab nochmal alle Pfade kontrolliert, die stimmen. Die „tutorial.css“ befindet sich definitiv unter „/shopverzeichnis/templates/my_template/frontend/_resources/styles“ und die neue header.tpl unter „/shopverzeichnis/templates/my_template/frontend/index/“. Die tutorial.css beinhaltet den kompletten Code der /_default/colors.css und der header.tpl sieht so aus: [code]
{extends file="…/_default/frontend/index/header.tpl"} {block name=„frontend_index_header_css_screen“} {/block} [/code] Edit: Ob mit oder ohne „“ … das ist kein Unterschied. :shock:
Okay, ich dann auch mal stark davon aus, dass du den Templatecache im Backend geleert hast, oder? //edit: Hast du mal probiert das komplette Template aus dem Tutorial runter zuladen und auf deinen Server zu schieben? Alternativ kannst du auch die Templatedateien aus dem kompletten Template mit deinen angelegten Template vergleichen. Hier der Link zum Tutorialtemplate - http://www.shopware.de/wiki/files/downl … 174024.zip
Haha, jetzt wollte ich grad schreiben, dass ich immer auf “Alles markieren” klicke und dann den Cache leere und jetzt hab ich das Fenster einfach mal größer gemacht und seh, dass darunter tatsächlich noch die Punkte “Template Cache” und “Datei Cache” vorhanden sind. Ich habs echt nicht gesehen! Jetzt gehts! Vielen Dank! (auch wenns mir jetzt n bisschen peinlich ist, aber jeder fängt ja mal an ;))