Variablen an eingebundene Templates weitergeben

Wenn die Mehrzahl Ihrer Templates den gleichen Header und Footer verwenden, lagert man diese meist in eigene Templates aus und bindet diese mit{include} ein. Was geschieht aber wenn der Header einen seitenspezifischen Titel haben soll? Smarty bietet die Möglichkeit, dem eingebundenen Template, Variablen als Attribute zu übergeben.

Example 18.3. Die Titel-Variable dem Header-Template zuweisen

mainpage.tpl - Beim Aufbau der Hauptseite wird der Titel "Hauptseite" an header.tpl übergeben und dort verwendet.


{include file="header.tpl" title="Hauptseite"}
{* template body hier *}
{include file="footer.tpl"}

    

archives.tpl



{config_load file="archiv.conf"}
{include file="header.tpl" title=#archivSeiteTitel#}
{* template body hier *}
{include file="footer.tpl"}

    

header.tpl - Zur Info: wenn kein $titel übergeben wurde wird hier mittels des default-Modifikator der Titel "Nachrichten" verwendet.


<html>
<head>
<title>{$title|default:"Nachrichten"}</title>
</head>
<body>

   

footer.tpl


</BODY>
</HTML>