Vererbung von Templates bzw. HTML ohne {block}

Hallo, ich habe eine Frage zur Vererbung von Templates. Ich stehe im Moment vor folgender Situation: Ich habe in [color=green]mytemplate/frontend/detail/index.tpl[/color] folgenden Code: [code] …

{include file=“frontend/detail/images.tpl”}
… [/code] Die Datei existiert und der Pfad wird korrekt aufgelöst. Dies bestätigt mir: {link file='frontend/detail/images.tpl'} Jetzt habe ich festgestellt, dass wenn in meiner [color=green]frontend/detail/images.tpl[/color] folgende Zeile steht: {extends file='parent:frontend/detail/images.tpl'} er den Code aus dem Mastertemplate [color=green]_default/frontend/detail/images.tpl[/color] nimmt. Entferne ich diese Zeile, nimmt er die Datei aus meinem Template. Warum ist das so? Ist das Verhalten korrekt? Habe ich etwas übersehen? Den Shopcache habe ich mehrfach geleert. Normalerweise überschreibe ich ja Blöcke. {block name="foo"}...{/block} Hier ist das nicht der Fall. Hat es etwas damit zu tun? Beste Grüße, mifa

Wenn du das {extends file=’…’} weg lässt wird nicht die vorhandene Datei aus dem Parent-Template erweitert, sondern die komplette Datei ersetzt. Das Verhalten ist so korrekt. Du kannst also entweder die komplette Datei nachbauen (ohne extends, sinnvoll wenn du die komplette Struktur ändern willst) oder eine vorhandene Datei erweitern (mit extends), dann kannst du den Inhalt der Blöcke überschreiben oder etwas an die Blöcke anhängen, die Reihenfolge der Blöcke und die Struktur außerhalb der Blöcke bleiben dann wie in der Datei von der du extendest vorgegeben

1 „Gefällt mir“

Vielen Dank für deine Antwort. Das ergibt Sinn. Das erklärt auch “merkwürdige” Verhalten in der Vergangenheit. Nochmal: Vielen Dank für die Erklärung.