Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
salve salve galera da iM!
to eu aqui mais uma vez, tentando resolve mais um probleminha com uma classe aqui. a função dela é gerar os templates. ela eh bem simples e quem quiser ja pode aproveita e usa-la. segue abaixo o arquivo e ja vo coloca um exemplo de uso:
segue a classe:
<?class template{ var $Template; var $Tabela, $Num, $Loop; function template($arquivo){ $open_o = fopen($arquivo,"r"); $this -> Template = fread( $open_o , filesize($arquivo) ); } function ver(){ print $this-> Template; } function atribuir($var, $conteudo){ $this->Template = str_replace("[".$var."]",$conteudo, $this->Template); } function loop( $lugar, $valores ){ $this->Loop = $lugar; if( strstr($this->Template,"[-$lugar-]") ){ $this->Template = str_replace( "[-$lugar-]" , $this->Tabela."[-$lugar-]" , $this->Template ); }else{ $partes = explode("<!--".$lugar."-->",$this->Template); $partes2 = explode( "<!--/".$lugar."-->" , $partes[1] ); $this->Tabela = $partes2[0]; $this->Template = str_replace( "<!--$lugar-->".$this->Tabela."<!--/$lugar-->" , $this->Tabela."[-$lugar-]" , $this->Template); } foreach($valores as $chave=>$valor){ $this->Template = str_replace("[$chave]",$valor,$this->Template); } } function fechaLoop(){ $this->Template = str_replace( "[-".$this->Loop."-]", "", $this->Template); }}?>
ela é bem simples... utiliza-se assim:
<?require_once("CLASSE.php");$template = new template("template/ARQUIVO.tpl");//exemplo de loop:foreach($ARRAY as $coisa){ $template->loop('NOME DO LOOP', $coisa); } $template->fechaLoop();//exemplo de variavel comum:$template->atribuir("NOME", $VARIAVEL); ?>
totalmente simples.. por isso q eu odeio o smarty ^^
eu acho q o smarty acaba complicando e usando um simples sistema de template para programação. bom mas isso aqui nao eh discução para isso ^^
segue abaixo um exemplo de um arquivo de template:
<html><head><title>titulo</title></head><body><div id="algumacoisa">[nome_da_variavel]</div><!--nomeDoLoop-->[variavel_que_se_repetira_a_cada_loop]<!--/nomeDoLoop-></body></html>
yeah! totalmente simples, mas a minha ideia agora era fazer um sistema de inclusao assim como um include do php nesse template. exemplo:
INCLUIR("header.tpl");<div id="algumacoisa">[nome_da_variavel]</div><!--nomeDoLoop-->[variavel_que_se_repetira_a_cada_loop]<!--/nomeDoLoop->INCLUIR("footer.tpl");
dai na classe ele teria q pegar o valor q ta ali no incluir e trocar pelo conteudo q tem no arquivo indicado....
bom, acho que é isso, espero que tenham etendido minha duvida ^^
abração a todos! fico no aguardo! :D
Carregando comentários...