Verständnisfrage base.tpl/header.tpl

Grüß Euch allesamt!

Ich zerleg aktuell das gesamte Frontend und blicke langsam ein klein wenig besser durch.

Ist das ähnlich wie bei der base.tpl mit

    [{foreach from=$oxidBlock_pageBody item="_block"}]
        [{$_block}]
    [{/foreach}]

?

Ich verstehe diese Schleife so dass er alle Templates nach “blocks” durchsucht, die dann eingsammelt und gerendert werden?

Danke! Grüße - Daniel

Fast.

OXID rendert die Templates von innen nach außen, man könnte es “rückwärts” nennen (Wordpress Themes machen es zum Beispiel anders herum). Auf dem Template-Weg kann jedes Teil-Template Blöcke erzeugen und in einem Array (einer Liste) zur späteren Verwendung ablegen.

In deinem Zitat is es das Array “oxidBlock_pageBody”. Der Name suggeriert, das dort alle Blöcke gespeichert werden die im Mittelteil der Seite angezeigt werden.

Die Variable “_block” enthält in jedem Schleifendurchlauf den aktuellen Block und mit [{$_block}] wird dieser Block einfach nur ausgegeben.

Smarty macht daraus PHP, etwa so:
foreach ($oxidBlock_pageBody as $_block) echo $_block;

Die Blöcke werden übrigens oft mit [{capture append=“array”}]…[{/capture}] “gesammelt”.

Dank dir für die ausführliche Antwort!