{PROJECT} ../../template/home_nl.ini {GRAFIK_LINKS} $home/gifs/li_phpcms.gif {LOGO_1} $home/gifs/cmslogo1.gif {LOGO_2} $home/gifs/cmslogo2.gif {MENU} 00.08.12.04 {TITEL} Subtemplates {CONTENT}
Als u terugkerende HTML-elementen in uw templates heeft, die op alle pagina's gelijk moet zijn, kunt u het beste subtemplates gebruiken. Ook binnen dezelfde pagina (dezelfde template) kunt u meerdere keren dezelfde subtemplate's aanroepen.
Een subtemplate neemt u bij voorkeur op een eigen regel op in uw template. U begint met het teken dat u als startteken bij de Parser heeft ingesteld, gevolgd door de veldnaam "TEMPLATE", een spatie dan het sleutelwoord "FILE=" daarna tussen aanhalingstekens het padnaam en ter afsluiting het door u ingestelde stopteken. Deze regel ziet er dan bijvoorbeeld zo uit:
{TEMPLATE FILE="/homepage/templates/sub_template.tpl"}
Het pad naar naar het in het subtemplate ingestelde bestand, gebruikt u absoluut ten opzichte van document-root van uw webserver, of relatief ten opzichte van de template, vanwaaruit u de subtemplate aanroept. Maar u kunt ook de variable "$home" gebruiken. Geldige aanroepen zijn dus bijvoorbeeld:
{TEMPLATE FILE="/homepage/templates/sub_template.tpl"}Om de variabele "$home" te kunnen gebruiken moet deze in uw projectbestand zijn gedefineerd.
{TEMPLATE FILE="./sub_template.tpl"}
{TEMPLATE FILE="$home/templates/sub_template.tpl"}
U kunt subtemplates ook nesten, met andere woorden, u kunt vanuit een subtemplate een ander subtemplate aanroepen. U moet er dan op letten dat u recursie voorkomt, dus niet vanuit een subtemplate het zelfde subtemplate aanroepen.
Afgezien hiervan zijn subtemplates volledig vergelijkbaar met templates.
Neem bijvoorbeeld eens de Copyright-tekst rechts boven op de website van de auteur. Deze pagina is voorzien van een koppeling naar mijn e-mailadres en komt terug op elke pagina. Ik gebruik echter voor mijn website meerdere templates.
Wanneer nu bijvoorbeeld mijn e-mailadres veranderd, zou ik zonder het gebruik van subtemplates het nieuwe adres in elk template afzonderlijk moeten veranderen. Door het gebruik van subtemplates verander ik het e-mailadres alleen in het subtemplate, deze wijziging komt nu op elke pagina terug.