Die persistent variable
Diese Seite ist für Designer, deren Inhalts-Template den Rahmen beeinflussen muss: eine Seitenspalte auf einer Landingpage ausblenden, für eine Klasse eine Klasse am body hinzufügen, den Seitentitel ändern. Das View-Template läuft vor dem Pagelayout und kann es nicht direkt erreichen; die persistent variable überbringt die Nachricht.
Inhalt
Sie setzen
Setzen Sie in einer Vollansicht (oder einem Override davon) die Template-Variable persistent_variable im Wurzel-Gültigkeitsbereich
auf einen Hash:
set scope=global persistent_variable=hash( 'body_class', 'landing', 'left_menu', false() )Die Inhaltsansicht liest sie nach dem Rendern (kernel/classes/eznodeviewfunctions.php: Der Kernel setzt sie vor dem Lauf der
View auf false und kopiert jeden anderen Wert in content_info).
Sie lesen
Im Pagelayout:
{def $pv = cond( and( is_array( $module_result.content_info ), is_set( $module_result.content_info.persistent_variable ) ),
$module_result.content_info.persistent_variable, false() )}
<body class="if and( $pv, is_set( $pv.body_class ) )$pv.body_class|wash/if">Warum „persistent“
Der Wert wird mit dem Eintrag im View-Cache gespeichert (der Kernel fügt ihn den Cache-Schlüsseln hinzu), sodass eine Seite, die aus dem View-Cache kommt, denselben Wert liefert wie beim Rendern. Eine auf andere Weise gesetzte Variable ginge bei einem Cache-Treffer verloren.
Helfer
ezcss_requireundezscript_requireverwenden die persistent variable, um Listen von Stylesheets und Skripten zu übergeben.ezpagedata_set( 'key', value )undezpagedata_appendder Erweiterung ezwebin schreiben hinein, undezpagedata()liest sie zurück (Das Design ezwebin als Grundlage).
Beispiele in den mitgelieferten Designs
Das Pagelayout von admin4 liest persistent_variable.left_menu und extra_menu, sodass das Template einer
Bearbeitungsseite eine eigene linke Spalte verlangen kann (design/admin4/templates/pagelayout.tpl).
Verwandte Seiten
- Module result und content info
- Vollansicht
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
Werden Sie Exponential-Partner
Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.