Hallo, ich habe gerade ein Problem festgestellt, dass sich Templates nicht mehr überschreiben lassen, sobald ein “append” benutzt wurde. Es werden mehrere Templates verwendet und das vorletzte in der Vererbung besitzt ein “append” im Template-Block. Versuche ich mit einem weiteren Template diesen Block zu überschreiben funktioniert dies nicht. Gibt es einen Workaround, um Templates mit “append” zu überschreiben ohne das append-Template selber anzufassen?
Da scheint es wohl gerade einen generellen Bug oder so zu geben. Zwei Plug-Ins welche den gleichen Block (einmal mit append und einmal mit prepend beispielsweise) verändern funktionieren momentan zum Beispiel auch nicht nebeneinander. Ich nehme mal stark an, dass in der nächsten Version ein Fix enthalten sein wird…
Das Problem ist schon länger bekannt. Du kannst einfach folgendes machen: {block name="dein\_block"} {$smarty.block.parent} dein append {/block}
Das umgeht das Problem. Viele Grüße
Guten Morgen, vielen Dank für die Antworten, aber ich vermute mich falsch ausgedrückt zu haben. Ein Beispiel: // _default {extends file=„parent:frontend/index/header.tpl“} {block name=„frontend_css“} stylesheet_1 stylesheet_2 {/block} // emotion_red {extends file=„parent:frontend/index/header.tpl“} {block name=„frontend_css“ append} stylesheet_3 {/block} // custom {extends file=„parent:frontend/index/header.tpl“} {block name=„frontend_css“} stylesheet_custom {/block} Als Ergebnis hätte ich gerne nur folgendes geladen {block name="frontend_css} stylesheet_custom {/block} Tatsächlich erhalte ich folgende Ausgabe: {block name="frontend_css} stylesheet_1 stylesheet_2 stylesheet_3 stylesheet_custom {/block} Da ich an letzter Position kein „append“ benutze, ging ich davon aus, dass ich damit alles überschreibe. Dem ist aber nicht so.
Dein Custom leitet wohl nicht vom Emotion Template ab… Das extend file parent hat im _default an dieser Stelle sowieso nichts zu suchen - von welcher parent.header.tpl soll es denn bitte ableiten?