Guten Morgen,
wir setzen gerade ein neues Template auf JTL-4-Basis auf. Dabei möchten wir möglichst wenig Originalcode verändern und nutzen daher die Smarty Blocks. Soweit, so gut.
Jetzt gibt es z.B. im Header den Block {block name="header-branding"}, in dem sich ein weiterer Block befindet, {block name="logo"}. Ich möchte an "header-branding" über unser Child-Template Änderungen vornehmen, aber eigentlich den inneren Block "logo" überhaupt nicht anfassen. Momentan ist die einzige Möglichkeit, die tatsächlich funktioniert, wenn ich den kompletten Originalcode von "logo" innerhalb von "header-branding" aus dem Parent einfüge, wodurch ich natürlich eine Code-Dublette erzeuge, die dann auch nicht mehr updatefähig ist.
Ich habe außerdem folgenden Aufbau in der header.tpl meines Child-Templates ausprobiert:
{block name="header-branding"}
Meine Änderungen
{block name="logo"}
{$smarty.block.parent}
{/block}
Mehr Änderungen
{/block}{* /header-branding *}
Nach meinem Verständnis sollte damit die unveränderte Parent-Version des Blocks "logo" aus dem Parent-Template übernommen werden. In der Praxis wird allerdings die unveränderte Parent-Version des Blocks "header-branding" innerhalb meines geänderten Blocks "header-branding" dargestellt.
Hat jemand eine Idee, wie ich einen Smarty Block in meinem Child verändern kann und dabei darin verschachtelte Blocks aus dem Parent korrekt übernehme ohne deren Originalcode duplizieren zu müssen? Danke für Hinweise.
wir setzen gerade ein neues Template auf JTL-4-Basis auf. Dabei möchten wir möglichst wenig Originalcode verändern und nutzen daher die Smarty Blocks. Soweit, so gut.
Jetzt gibt es z.B. im Header den Block {block name="header-branding"}, in dem sich ein weiterer Block befindet, {block name="logo"}. Ich möchte an "header-branding" über unser Child-Template Änderungen vornehmen, aber eigentlich den inneren Block "logo" überhaupt nicht anfassen. Momentan ist die einzige Möglichkeit, die tatsächlich funktioniert, wenn ich den kompletten Originalcode von "logo" innerhalb von "header-branding" aus dem Parent einfüge, wodurch ich natürlich eine Code-Dublette erzeuge, die dann auch nicht mehr updatefähig ist.
Ich habe außerdem folgenden Aufbau in der header.tpl meines Child-Templates ausprobiert:
{block name="header-branding"}
Meine Änderungen
{block name="logo"}
{$smarty.block.parent}
{/block}
Mehr Änderungen
{/block}{* /header-branding *}
Nach meinem Verständnis sollte damit die unveränderte Parent-Version des Blocks "logo" aus dem Parent-Template übernommen werden. In der Praxis wird allerdings die unveränderte Parent-Version des Blocks "header-branding" innerhalb meines geänderten Blocks "header-branding" dargestellt.
Hat jemand eine Idee, wie ich einen Smarty Block in meinem Child verändern kann und dabei darin verschachtelte Blocks aus dem Parent korrekt übernehme ohne deren Originalcode duplizieren zu müssen? Danke für Hinweise.