[GELÖST] {$smarty.block.parent} vs {extends file="parent:....} wie anwenden?

Append heißt im Prinzip, dass du deinen Inhalt anhängst, Prepend, dass du ihn vorher einfügst.

Hier mal ein Beispiel für Append :

Originaldatei:

Datei: irgendwas/index.tpl

{block ...}
Das ist der Originalinhalt
{/block}

Abgeleitete Datei:

{extends file="parent:irgendwas/index.tpl append}
{block ...}
Das ist das angefügte
{/block}

ändern in

{extends file="parent:irgendwas/index.tpl}
{block ...}
{$smarty.block.parent}
Das ist das angefügte
{/block}

Ergebnis wäre dann:

Das ist der Originalinhalt
Das ist das angefügte

Bei Prepend wäre es dann genau andersrum:

{extends file="parent:irgendwas/index.tpl prepend}
{block ...}
Das ist das angefügte
{/block}

ändern in

{extends file="parent:irgendwas/index.tpl}
{block ...}
Das ist das angefügte
{$smarty.block.parent}
{/block}

Ergebnis wäre dann:

Das ist das angefügte
Das ist der Originalinhalt

Du löst also das Append/Prepend durch {$smarty.block.parent} ab. Die Variable enthält also die Informationen aus der Originaldatei - du entscheidest über diese Variable wo genau der Inhalt ausgegeben werden soll - also ob du etwas davor oder danach einfügen willst. Man sollte {$smarty.block.parent} nutzen, da es bei Mehrfachvererbungen sonst Probleme geben kann.

1 „Gefällt mir“