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.