Treva Fórum
~~ Treva Fórum ~~

Beiin Viindos ao Treva Fórum Entrem Se Registrem se Divirta...
e chamem amigos para Acessar também e participe de nossos eventos e Promoções.

Equipe Treva Fórum.

Sistema minimalista de templates

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Sistema minimalista de templates

Mensagem por XSnake1996 em Sex Jun 11, 2010 2:38 pm

Sistema minimalista de templates




Este pequeno tutorial mostra como usar um sistema de templates leve e compacto. Tudo se resume a uma função que substitui tags num template por conteúdo que pode ser obtido programaticamente.
Os templates ficam guardados um por arquivos e são carregados quando for preciso mostrar uma página, ou parte dela.


Templates




Um template pode contem a estrutura/design de uma página ou de parte dela.
O conteúdo será colocado nos sítios onde aparecem tags entre chavetas. O exemplo seguinte explica-se a si próprio:

O template usado neste exemplo não tem estilos CSS
ficheiro index.tpl.html
Código:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<head>
   <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
   <title>{TITULO}</title>
   <meta name="description" content="{DESCRICAO}" />
 
</head>
<body>
   <div id="cabecalho">
      {CABECALHO}
   </div>
 
   <div id="titulo">
      <h1> {TITULO} </h1>
   </div>
 
   <div id="descricao">
      {DESCRICAO}
   </div>
 
   <div id="conteudo">
      {CONTEUDO}
   </div>
 
   <div id="rodape">
      {RODAPE}
   </div>
 
</body>


Função de substituição




A função que carrega o template é bastante simples. Tudo o que faz é abrir um ficheiro de texto, colocar o seu conteúdo numa string e substituir ocorrências da chave do array recebido como segundo argumento pelo conteúdo do elemento do array. Por motivos de simplicidade as chavetas não são passadas no array de argumentos.
Código:

function load_template($file,$tags){
   #Abrir o ficheiro que contem o template
   $html_output = file_get_contents($file); 
 
   #substituir as tags pelo respectivo conteudo
   foreach ($tags as $tag => $replaceby){
      $tag = "{".$tag."}";
      $html_output = str_replace($tag, $replaceby, $html_output);   
   }
   return $html_output;
}


Utilização




Usar este sistema de templates é trivial, tudo o que é preciso fazer é chamar a função de substituição com os parâmetros adequados.
Código:

#definição do conteudo da página

$tags = array(
   "TITULO" => 'Teste do sistema de templates',
   "DESCRICAO" => 'Um pequeno teste só para mostrar o potencial deste sistema de templates',
   "CABECALHO" => '',   
        "CONTEUDO" => 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus ac magna. Vestibulum malesuada ipsum varius lectus. Vestibulum in odio. Suspendisse non turpis. Praesent vulputate nisl vitae nisi. Sed a urna. Sed in ligula. Nunc sapien. Duis ac nulla. Pellentesque dolor mauris, adipiscing id, rhoncus at, sollicitudin eget, nisi. Nam metus orci, tristique vel, suscipit nec, condimentum nec, lacus. Nullam interdum. Fusce diam. Integer aliquet varius nisl',
   "RODAPE" => '<a herf="http://trevaforum.forumeiros.com/">Treva Forum</a> | <a herf="http://xsnakesite.xp3.biz/"><font color="4">X</font>Snake Site</a>'
 
);
 
#carregar o template
echo load_template("index.tpl.html",$tags);

XSnake1996
Administradores
Administradores

Mensagens : 48
Moedas Moedas : 0
Pixels Pixels : 2444
Respeito Respeito : 3
Data de inscrição : 11/06/2010
Idade : 20

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Sistema minimalista de templates

Mensagem por martinsfm em Sex Jun 11, 2010 3:04 pm

Bom tutorial parabéns. lol!

martinsfm
Administradores
Administradores

Mensagens : 66
Moedas Moedas : 10
Pixels Pixels : 2480
Respeito Respeito : 3
Data de inscrição : 09/06/2010
Idade : 21
Localização : Portugal/Lagoa

Ver perfil do usuário http://www.projectfm.pt.vu

Voltar ao Topo Ir em baixo

Re: Sistema minimalista de templates

Mensagem por @_Kaio em Sex Jun 11, 2010 3:05 pm

martinsfm escreveu:Bom tutorial parabéns. lol!

@_Kaio
Administradores
Administradores

Mensagens : 42
Moedas Moedas : 9223372036854775807
Pixels Pixels : 2434
Respeito Respeito : 3
Data de inscrição : 09/06/2010

Ver perfil do usuário http://trevaforum.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Sistema minimalista de templates

Mensagem por izaac em Sab Mar 10, 2012 2:59 am

lol! lol!

izaac
[TF] Membro
[TF] Membro

Mensagens : 6
Moedas Moedas : 1
Pixels Pixels : 1739
Respeito Respeito : 0
Data de inscrição : 10/03/2012
Localização : ceila

Ver perfil do usuário http://habburstsligados.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Sistema minimalista de templates

Mensagem por pepeghj em Ter Out 30, 2012 9:34 pm

gostei D:


Última edição por pepeghj em Ter Out 30, 2012 9:42 pm, editado 1 vez(es) (Razão : GOSTEI)

pepeghj
[TF] Membro
[TF] Membro

Mensagens : 6
Moedas Moedas : 1
Pixels Pixels : 1891
Respeito Respeito : 0
Data de inscrição : 11/10/2011

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Sistema minimalista de templates

Mensagem por Conteúdo patrocinado Hoje à(s) 8:55 pm


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum