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

Hallo Community,

ich bereite das Update auf 5.3 vor. In diesem Zuge habe ich hier im Forum davon gelesen, das {extends file="parent:…} durch {$smarty.block.parent} ersetzt werden soll/muss. Ist das richtigt und wenn ja, wie muss das genaz dann aussehen? Ein Beispiel wäre nett.

Danke und Gruß

Nein das extend eines TPL bleibt bestehen natürlich.

Was man nicht mehr nutzen sollte ist prepend/append in einem Block, sondern eben smartyblockparent in seinem TPL verwenden, vor oder nach dem eigenen Content.

1 „Gefällt mir“

OK, danke schon mal dafür!

Aber die Frage bleibt, wie muss ich es anweden, wenn ich 

{block name='frontend_index_logo' append}

habe? Wird daraus dann einfach 

{$smarty.block.parent}

?

Gibt es einen Unterschied zwischen prepend/append?

Und vor allem, MUSS es geändert werden, oder wird es auch ohne Anpassung funktionieren, soll heißen, legt es mir den Shop lahm, oder nicht?

Danke und Gruß

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“

Danke Moritz,

jetzt habe ich es verstanden  Thumb-Up