Template Setting korrekt als Template Attribute setzen
Unsere Templates sind lange nicht mehr eine einzige index.html
Datei, wo alles abläuft. Oben sieht man die Unterteilung den einzelnen Abschnitten in separate Dateien.
Wenn ich in der Datei template/page.html
eine Variable $showHeader abfragen möchte, muss ich diese in index.html
weitergeben:
{fetch template="template/page.html" showHeader=$showHeader}
Wir haben darüber diskutiert, wie man das Vorgehen umgehen könnte. Hier ist der Vorschlag von Hen:
/**
* Own object container for template settings
* Smarty example: {$Template->getAttribute('TemplateSetting')->getAttribute('navPos')}
*/
$Setting = new \QUI\QDOM();
$Setting->setAttributes($templateSettings);
$Template->setAttribute('TemplateSetting', $Setting);
So kann man das in Smarty verwenden:
{$Template->getAttribute('TemplateSetting')->getAttribute('navPos')}
<!-- oder oben zuweisen, wenn es mehrere gibt, und dann abfragen -->
{assign var=Setting value=$Template->getAttribute('TemplateSetting')}
<!-- ... -->
{$Setting->->getAttribute('navPos')}