Die Verwendung von {smarty.block.parent} anstelle von append und prepend ist ja klar, aber auf welchen Block bezieht sich der Ausdruck, wenn blöcke verschachtelt sind?
Ich frage, weil mich eine Änderung in 5.3.4 nachdenklich macht, weil ich hier wieder eine Änderung mit Copy & Paste übernehmen müsste.
{block a}
was geändert
{block b}
Copy & paste original Block
{/block}
{block}
Worauf würde sich nun {smarty.block.parent} beziehen, wenn ich anstelle von Copy & Paste in {block b} einführe?
Was würde smarty hier machen?
{smarty.block.parent} bezieht sich in deinem beispiel auf block a des parents. Kleines Beispiel:
parent.tpl
{block a}
Titel
{block b}
hier kommt der inhalt
{/block}
{block}
child.tpl
{block a}
Ich möchte im child einen anderen titel
{block b}
{$smarty.block.parent}
{/block}
{block}
Ausgabe
Ich möchte im child einen anderen titel
Titel
hier kommt der inhalt
Das ist natürlich sehr supoptimal zb wenn man nur die HTML Stuktur um einen block herum ändern will, aber der block b weiterhin den content des parent block b haben soll.
Habe dazu bisher keinerlei Lösung gefunden. Vielleicht gibt es hier im Forum ein paar smarty cracks die eine Idee haben wie man das lösen könnte?!