[SP-pm] Template Toolkit - Estudando
breno
breno at rio.pm.org
Wed Nov 12 08:15:47 PST 2008
Acho que a principal diferença entre eles é:
INSERT - insere o conteúdo do arquivo especificado exatamente como
está, sem qualquer tipo de tratamento.
INCLUDE - insere o conteúdo do arquivo especificado mas processa ele
antes, interpolando variáveis e interpretando códigos de template
PROCESS - igual ao include, mas não localiza as variáveis antes de
processar o template.
Pra ajudar a entender essa diferença, considere o seguinte template de exemplo:
"teste.tt":
----------------------8<----------------------
[% foo = 1 %]
[% INSERT bla.tt %]
estou na raiz, foo vale [% foo %]
[% INCLUDE bla.tt %]
voltei pra raiz, foo vale [% foo %]
[% PROCESS bla.tt %]
raiz de novo, foo vale [% foo %]
----------------------8<----------------------
e "bla.tt":
----------------------8<----------------------
[% foo = 42 %]
estou em 'bla', mudei foo para [% foo %]
----------------------8<----------------------
Processando esse template, temos o seguinte resultado:
----------------------8<----------------------
[user em host]$ tpage teste.tt
[% foo = 42 %]
estou em 'bla', mudei foo para [% foo %]
estou na raiz, foo vale 1
estou em 'bla', mudei foo para 42
voltei pra raiz, foo vale 1
estou em 'bla', mudei foo para 42
raiz de novo, foo vale 42
----------------------8<----------------------
Mas se vc está aprendendo, recomendo ler o tutorial em vez do manual.
Ele dá mais atenção ao uso do módulo, enquanto o manual é mais um guia
de referência.
Boa sorte!
[]s
-b
2008/11/12 Daniel de Oliveira Mantovani <daniel.oliveira.mantovani em gmail.com>:
> Estou estudando Template Toolkit, e não estou entendendo algumas coisas do
> manual.
>
> O manual diz mais ou menos assim:
> Um número de diretrizes orientadoras especiais são fornecidas, como o "
> INSERT" , " INCLUDE" e " PROCESS" , de que permita que o índice seja
> acumulado componentes menores do molde. Isto permite uma aproximação modular
> a construindo um Web site ou o outro repositório satisfeito, promovendo o
> reusability, consistência do cruz-local, facilidade da construção e
> subseqüente manutenção. Elementos comuns tais como encabeçamentos, pés de
> página, barras de menu, as tabelas, e assim por diante, podem ser criadas
> como as limas de molde separadas que podem seja processado então em outros
> originais como necessário. Todos definiram as variáveis são herdadas por
> estes moldes junto com adicional " local" os valores especifico.
>
> [% PROCESS header
> title = "The Cat Sat on the Mat"
> %]
>
> [% PROCESS menu %]
>
> A posição do felino faltante tem sido estabelecida agora. Obrigado para seu
> auxílio.
>
> [% INSERT legal/disclaimer %]
>
> [% PROCESS footer %]
>
> Você pode igualmente definir um molde como um BLOCO dentro da mesma lima e
> PROCESSE-A apenas como toda a outra lima de molde. Isto pode ser inestimável
> para acumular elementos repetitivos tais como tabelas, menus, etc.
>
> [% BLOCK tabrow %]
> <tr><td>[% name %]</td><td>[% email %]</td></tr>
> [% END %]
>
> <table>
> [% PROCESS tabrow name="tom" email="tom em here.org" %]
> [% PROCESS tabrow name="dick" email="disk em there.org" %]
> [% PROCESS tabrow name="larry" email="larry em where.org" %]
> </table>
>
> Eu não entendi essa parte das tabelas, isso vai resultar em que ?
> [% PROCESS tabrow name="tom" email="tom em here.org" %]
>
> Para ser mais claro o que eu sei fazer de Template Toolkit é criar um
> arquivo chamado .tt, index.tt outro chamado header e outro chamado footer.
> Dentro do index.tt eu ponho o conteudo do site, exemplo:
> [% INCLUDE header %]
> <p>Esse site é bonito</p>
> [% INCLUDE footer %]
>
> Dentro do header eu coloco todo cabeçalho do site, exemplo:
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
> <title>Residencial Lar dos Sonhos de Alice</title>
> <link rel="stylesheet" type="text/css" href="estilo.css" />
> </head>
> <body>
>
> Dentro do footer eu coloco tudo depois do corpo do site, geralmente os
> copyrights, exemplo:
> </body>
> <a href=frame02.html>Voltar</a>
> <p>Power by Nasa</p>
> </html>
>
> Ae forma Cabeça( header ), conteúdo do site ( index.tt ) e o resto do site
> (footer).
>
> Obrigado []'s
> --
> print
> "\x54\x68\x65\x20\x53\x69\x6c\x65\x6e\x74\x20\x47\x75\x61\x72\x64\x69\x61\x6e",$/
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
More information about the SaoPaulo-pm
mailing list