include (einbinden)
{include}-Tags werden verwendet, um andere Templates in das aktuelle
Template einzubinden. Alle Variablen des aktuellen Templates sind
auch im eingebundenen Template verfügbar. Das {include}-Tag muss ein
'file' Attribut mit dem Pfad zum einzubindenden Template enthalten.
Optional kann mit dem assign Attribut definiert
werden, in welcher Variable die Ausgabe des mit
include eingebundenen Templates abgelegt werden
soll statt sie auszugeben.
Die Werte aller zugewiesenen Variablen werden wiederhergestellt, sobald
ein eingebundenes Template wieder verlassen wurde. Das bedeutet, dass in
einem eingebundenen Template alle Variablen des einbindenden Template
verwendet und verändert werden können, diese Änderungen aber verloren sind,
sobald das {include} abgearbeitet wurde.
Beispiel 7-9. function include (einbinden) <html>
<head>
<title>{$title}</title>
</head>
<body>
{include file='page_header.tpl'}
{* hier kommt der body des Templates *}
{include file="$tpl_name.tpl"} <-- $tpl_name wird durch eine Wert ersetzt
{include file='page_footer.tpl'}
</body>
</html> |
|
Sie können dem einzubindenden Template Variablen als Attribute
übergeben. Alle explizit übergebenen Variablen sind nur im
Anwendungsbereich (scope) dieses Template
verfügbar. Attribut-Variablen überschreiben aktuelle
Template-Variablen, falls sie den gleichen Namen haben.
Beispiel 7-10. include-Funktion und Variablen Übergabe {include file='header.tpl' title='Hauptmenu' table_bgcolor='#c0c0c0'}
{* hier kommt der body des Templates *}
{include file='footer.tpl' logo='http://my.domain.com/logo.gif'} |
|
Benutzen sie die Syntax von template resources, um Templates
ausserhalb des '$template_dir' einzubinden:
Beispiel 7-11. Beispiele für Template-Ressourcen bei der 'include'-Funktion {* absoluter Dateipfad *}
{include file='/usr/local/include/templates/header.tpl'}
{* absoluter Dateipfad (gleich) *}
{include file='file:/usr/local/include/templates/header.tpl'}
{* absoluter Dateipfad unter Windows ("file:"-Prefix MUSS übergeben werden) *}
{include file='file:C:/www/pub/templates/header.tpl'}
{* einbinden aus Template-Ressource namens 'db' *}
{include file='db:header.tpl'}
{* einbinden eines Variablen Templates - z.B. $module = 'contacts' *}
{include file="$module.tpl"}
{*
Dies hier Funktioniert nicht, da Variablen innerhalb einfacher
Anführungszeichen nicht interpoliert werden.
*}
{include file='$module.tpl'} |
|
Siehe auch
{include_php},
{php},
Template Ressourcen und
Template/Skript Komponenten.