Fehler in der Dokumentation? Problem mit BLOCK-Ersetzung

Hallo, ich bin etwas verwirrt. Von der Dokumentation. Dort wird für ein und denselben Objekttyp nicht immer dasselbe Auszeichnungszeichen benutzt. Beispielsweise hier gesehen: http://wiki.shopware.de/Schnelleinstieg … _gestalten - im Codebeispiel wird im ersten {block} ein Hochkomma, im zweiten Anführungszeichen genutzt. Was ist denn nun richtig? Derzeit bin ich nämlich damit beschäftigt die Templates anzupassen oder genauer gesagt, durch eigene Templates das Standardtemplate zu erweitern. Hierfür nutze ich folgende Code-Struktur, um einen bestimmten Bereich zu ersetzen, nämlich den Block FRONTEND_INDEX_LOGO: {extends file=‘parent:frontend/index/index.tpl’} {block name=“frontend_index_logo”}

[![xyz]({link file=‘frontend/_resources/images/logo.gif’})]({url controller=‘index’} “{$sShopname} - {s name=‘IndexLinkDefault’}{/s}”)
{/block} Dasselbe Prinzip habe ich für CSS-Anpassungen genutzt - funktioniert wunderbar. Ebenso für die header.tpl. Doch hier - in der index.tpl klappt das nicht. Klappt nicht, bedeutet, dass es keine Änderungen in der index-Datei des Dokuments erzeugt. Der betreffende Bereich bleibt also unberührt, so als gäbe es o.g. Blockersetzung gar nicht. Hat jemand eine Idee? Als ich nun noch einmal in die Doku schaute, um etwaige Fehler zu prüfen, stieß ich auf o.g. Indiskrepanz. Aber vielleicht ist es auch keine und ich habe etwas missverstanden. :wink: Wäre schön, wenn jemand etwas Licht in die Sache bringen könnte. P.S. Die von mir erstellte index.tpl liegt natürlich im Ordner “meintemplatename/frontend/index”. P.P.S. Es handelt sich um Shopware 4.0.3.

[quote=“TomBOX”]Hallo, ich bin etwas verwirrt. Von der Dokumentation. Dort wird für ein und denselben Objekttyp nicht immer dasselbe Auszeichnungszeichen benutzt. Beispielsweise hier gesehen: http://wiki.shopware.de/Schnelleinstieg … _gestalten - im Codebeispiel wird im ersten {block} ein Hochkomma, im zweiten Anführungszeichen genutzt. Was ist denn nun richtig? Derzeit bin ich nämlich damit beschäftigt die Templates anzupassen oder genauer gesagt, durch eigene Templates das Standardtemplate zu erweitern. Hierfür nutze ich folgende Code-Struktur, um einen bestimmten Bereich zu ersetzen, nämlich den Block FRONTEND_INDEX_LOGO: {extends file=‘parent:frontend/index/index.tpl’} {block name=“frontend_index_logo”}

[![xyz]({link file=‘frontend/_resources/images/logo.gif’})]({url controller=‘index’} “{$sShopname} - {s name=‘IndexLinkDefault’}{/s}”)
{/block} Dasselbe Prinzip habe ich für CSS-Anpassungen genutzt - funktioniert wunderbar. Ebenso für die header.tpl. Doch hier - in der index.tpl klappt das nicht. Klappt nicht, bedeutet, dass es keine Änderungen in der index-Datei des Dokuments erzeugt. Der betreffende Bereich bleibt also unberührt, so als gäbe es o.g. Blockersetzung gar nicht. Hat jemand eine Idee? Als ich nun noch einmal in die Doku schaute, um etwaige Fehler zu prüfen, stieß ich auf o.g. Indiskrepanz. Aber vielleicht ist es auch keine und ich habe etwas missverstanden. :wink: Wäre schön, wenn jemand etwas Licht in die Sache bringen könnte. P.S. Die von mir erstellte index.tpl liegt natürlich im Ordner “meintemplatename/frontend/index”. P.P.S. Es handelt sich um Shopware 4.0.3.[/quote] Nachtrag: Wie ich soeben feststellte, funktioniert die Ersetzung des Blocks doch, allerdings wird mein eingefügter IMG-Tag ignoriert. Wenn ich hingegen bspw. die Klasse “grid_5” entferne oder einen Text einfüge, klappt das. Warum wird mein IMG-Tag ignoriert bzw. entfernt?

Ob du jetzt den Blocknamen mit einfachen (’) oder doppelten Anführungszeichen (") ansprichst, ist eignetlich Wurst, bzw Geschmackssache. In Shopware nicht durchgängig, passiert mir aber genaus bei eigenen Projekten in anderen Programmiersprachen. Das eigentliche Problem mit dem Logo kann ich leider nicht ganz nachvollziehen, was genau hast du vor und was funktioniert nicht?

Hallo 9grad, [quote=“9grad”]Das eigentliche Problem mit dem Logo kann ich leider nicht ganz nachvollziehen, was genau hast du vor und was funktioniert nicht?[/quote] Im Standardtemplate ist nur ein a-tag vorgesehen, welches mit einem hintergrundbild versehen wird. Ich möchte dort aber einen echten Bildpfad setzen. Also habe ich ![xyz]({link file=‘frontend/_resources/images/logo.gif’}) eingefügt. Das Logo soll als echtes Bild eingefügt werden. Eigentlich keine große Sache. Warum wird dieser img-tag quasi entfernt? Normal sieht der betreffende Block so aus: {block name=‘frontend_index_logo’}

[{$sShopname}]({url controller=‘index’} “{$sShopname} - {s name=‘IndexLinkDefault’}{/s}”)
{/block} Damit das Logo nun als verlinktes Bild eingefügt wird, mache ich daraus: {block name=“frontend_index_logo”}
[![xyz]({link file=‘frontend/_resources/images/logo.gif’})]({url controller=‘index’} “{$sShopname} - {s name=‘IndexLinkDefault’}{/s}”)
{/block} Jetzt hätte ich angenommen, dass das so funktioniert, dass ich mit “meinem” Block-Code den ursprünglich beerbten aus dem Ordner _default überschreibe. Das scheint aber nur teilweise zu funktionieren. Wie gesagt, das Bild, der img-tag, wird ignoriert bzw. aus der Ausgabe (Browseransicht) entfernt. Das verstehe ich nicht.

Ich glaube schon, dass der Tag übernommen wird, jedoch wird das Bild nicht angezeigt, da es per text-ident quasi ausgeblendet wird. Setze mal folgende Zeile im Stylesheet deines Templates ein: #header #logo a {text-indent: 0;} Standardmäßig ist text-indent auf -9999px

[quote=“9grad”]Ich glaube schon, dass der Tag übernommen wird, jedoch wird das Bild nicht angezeigt, da es per text-ident quasi ausgeblendet wird. Setze mal folgende Zeile im Stylesheet deines Templates ein: #header #logo a {text-indent: 0;} Standardmäßig ist text-indent auf -9999px[/quote] Hm, okay. Ich hätte mich exakter ausdrücken sollen. Der betreffende TAG, also der HTML-Befehl, existiert nicht. Wenn ich den Quellcode im Browser öffne, fehlt der img-Tag. Insofern hilft eine Änderung von text-intend nichts. Dennoch hab ichs probiert. :wink:

Wenn du in frontend/index/index.tpl dein Logo änderst bspw: [code]{extends file=‘parent:frontend/index/index.tpl’} {block name=“frontend_index_logo”}

[![xyz]({link file=‘frontend/_resources/images/logo.gif’})]({url controller=‘index’} “{$sShopname} - {s name=‘IndexLinkDefault’}{/s}”)
{/block}[/code] Funktioniert das ohne weiteres. (Text-ident muss auf 0 gesetzt werden) Hast du den Cache geleert?

Hallo, [quote=“9grad”](Text-ident muss auf 0 gesetzt werden) Hast du den Cache geleert?[/quote] Den Cache habe ich natürlich gelöscht - den im Browser. Jetzt habe ich mal den Templatecache im Backend noch gelöscht. Ich weiß nicht warum, aber jetzt funktioniert mein Code. Und zwar beliebig oft in Folge - ohne nochmals den Templatecache zu leeren. Mir fiel schon einmal auf, dass Updates am System “manchmal” sehr lange für eine Initialzündung brauchen. Der Grund dafür würde mich wirklich mal interessieren.