Quando a maioria de seus templates usam os mesmos cabeçalhos e mesmos rodapés, é comum dividi-los um em cada template e então incluí-los. Mas o que fazer se o cabeçalho precisa ter um titulo diferente, dependendo de que página ele está vindo? Você pode passar o titulo para o cabeçalho quando ele é incluído.
Example 18.3. Passando a variável titulo para o template de cabeçalho
paginaprincipal.tpl ------------ {include file="cabecalho.tpl" titulo="Página Principal"} {* O conteúdo do template vem aqui *} {include file="rodape.tpl"} arquivos.tpl ------------ {config_load file="pagina_arquivos.conf"} {include file="cabecalho.tpl" titulo=#tituloPaginaArquivos#} {* O conteúdo do template vem aqui *} {include file="rodape.tpl"} cabecalho.tpl ---------- <HTML> <HEAD> <TITLE>{$title|default:"BC News"}</TITLE> </HEAD> <BODY> footer.tpl ---------- </BODY> </HTML>
Quando a página for extraída, o título da "Página Principal" é passado ao template 'cabecalho.tpl', e será imediatamente usado como título da página. Quando a página de arquivos é extraída, o título muda para "Arquivos". No que no exemplo de arquivos, nós estamos usando uma variável que vem do arquivo 'pagina_arquivos.conf' ao invés de uma variável definida no código. Note também que "BC News" é mostrado somente se a variável $titulo não conter valor algum, isto é feito usando-se o modificador de variáveis padrão.