Sh4d0wn 0 Denunciar post Postado Janeiro 26, 2004 Olá ... estou desenvolvendo um sistema que possui um mesmo layout em todas as paginas ... a mesma organizacao de tabelas ... e trabalha com muitas ariaveis etc ... entao andei pesquisando e vi como funciona os templates ... mas todos os exemplos q eu encontrei sao usando OOP e su n sei nada de OOP com PHP ... entao decidir fazer meu proprio esquema ... mas to pegado em uma parte .... o meu sistema tem array de dimessoes variadas e por isso costumo usar while ... algeum pode me sugerir uma ideia de como fazer um replace nas variaveis do arquivo de template sem precisar escrever todos os campos do vetor ?? tipo o esquema de template q fiz ta assim .. $temp=file("arquivo.tpl");$temp=implode("",$temp);// aqui faco os replace ....// ex.$temp=str_replace("{title}","$var",$temp); entao eu teria um arquivo.tpl assim ... CODE <head><title> {title} </title></head> mas por exemplo para formar uma lista com uma tabela ... como eu posso fazer <td>{valor1}</td> <td>{valor2}</td> <td>{valor3}</td> <td>{valor4}</td> se eu num sei o numero de campos q eu vou precisar? a quem poder me ajudar .. o meu agradecimento ... PS: apostilas de PHP + Orientacao a Objetos sao bem vindas tb. Compartilhar este post Link para o post Compartilhar em outros sites
Keitaro 0 Denunciar post Postado Janeiro 26, 2004 e me diga qual a diferenca entre por {} e colocar direto a variavel?Se for fazer do seu jeito, nem precisa querer por {} taca direto a variavel.em ambos os casos o codigo inteiro devera ser em PHP. Compartilhar este post Link para o post Compartilhar em outros sites
Sh4d0wn 0 Denunciar post Postado Janeiro 26, 2004 n tem diferenca nenhum ... a questao e acho q você n intendeu ...você sabe como funciona um sistema de templates .. por ex. o do PHP-Nuke .. temos em um arquivo codigo PHP e em outro um arquivo .html ou .tpl com HTML puro e pre-formatado para ter as variaveis trocadas. (replace) (?!)entao ... quero fazer +/- isso ... p q tenho uma pagina com 3 tabelas q dao informacoes estatisticas ...e o usuario pode selecionar datas e/ou situacoes especificas para serem exibidas ... isso necessitaria de algumas mudancas no arquivo padrao para q ele informaceos dados solicitados .. entao eu deverai criar outro arquivo, com querys diferentes em tabelas tiferentes,, para exibir estas novas informacoes.este novo arquivo teria praticamente a mesma configuracao das tabelas ... a nao ser a mudanca na quantidade de linhas ....você pode diser .. faca com um switch ou com if else ... mas eu teria o trabalho de azer as tabelas novamente ....e pra dar manutencao no codigo seria orrivel pois estou falando de uma pagina q atualmente com 40% comcluido tem cerca de 1000 linhas de codigo .... a separacao de PHP e HTML seria muito boa neste aspecto ....continuo esperando ...[]'s Compartilhar este post Link para o post Compartilhar em outros sites
Keitaro 0 Denunciar post Postado Janeiro 26, 2004 Sim, eu entendi... so que para fazer um template "real" ele faz varredura do arquivo inteiro.O esquema do template, de forma basica, nao sei se voce viu o do PHPBRASIL, consistem em varrer uma pagina tpl e substituir o { por $ e o } por nada. A principio é o que ele faz, porem ele trabalha em OO.Bom, como n sei exatamente como é o seu codigo, e voce nao disse de que forma o torna tao dinamica, aconselho a baixar o fasttemplate, que eh uma class que faz template substituindo o {variavel} pelo seu valor de forma simples. No site do PHPBR tem coisa sobre isso.Lendo as suas duvidas, nao acho que a questao é TEMPLATE, pq template consiste numa facilitacao na exibicao de informacoes, como titulo, frases, menus e etc.Bom, como o codigo é seu, so voce entende o que ta escrevendo, pq n sei como estao suas tabelas, nao se voce faz consulta com uniao delas, ou apenas com uma, que tipo de dados voce faz busca, por nome, data, ano, hora, e etc...Bom deixa.. Compartilhar este post Link para o post Compartilhar em outros sites
Sh4d0wn 0 Denunciar post Postado Janeiro 27, 2004 Lendo as suas duvidas, nao acho que a questao é TEMPLATE, pq template consiste numa facilitacao na exibicao de informacoes, como titulo, frases, menus e etc.e é justamente isso q eu quero .... mas no meu caso tenho uma tabela q armazena informacoes de clientes outra que guarda informacoes dos vendedores e + uma que tem ados de vendas .entao quando faco uma busca .. para ter acesso a todas as vendas da semana ... n posso definir o numero de linhas q terei na minha tabela .... pois ainda n sei a quantidade de vendas por semana ... e cada semana terá um numero distinto de vendas ...a template q estou tentando fazer , varre o arquivo tpl... mas já tenho uma ideia básica de como fazer .. so preciso saber se existe alguma funcao em php q faz isso q eu quero ou se vou precisar fazer uma ... veja ..{loop/vendas}<!-- html aqui / formatacao da tabela -->{/loop/vendas}entao a questao é ... eu teria q ler todo o html q esta entre {loop/vendas} e {/loop/vendas} ....substituindo as variaveis q estivessem lá ... e depois apagando as tags de template ...você conhece algo pra isso ....? se n .. ok .. vou continuar tentando fazer uma funcao própria.. Compartilhar este post Link para o post Compartilhar em outros sites
Sh4d0wn 0 Denunciar post Postado Janeiro 27, 2004 olá amigos .. eu consegui resolver o meu problema .. <? ## template teste ....#$temp=file("file.tpl");$temp=htmlspecialchars(implode("",$temp));$cti=strpos($temp,"{loop/array}");$ctf=strpos($temp,"{/loop/array}");echo $cti." -- ".$ctf;$strow=substr($temp,($cti+strlen("{loop/array}")),($ctf-($cti+strlen("{loop/array}"))));echo "<p> ".$strow;$x=0;while($x<10) { $output.=$strow."\n"; $output=str_replace("{var}","$x",$output); $x++;}echo "<p>".$output;?> <html><head> <title> {titulo} </titulo></head><body><table>{loop/array}<tr> <td> {var} </td></tr>{/loop/array}</table></body></html> []'s Compartilhar este post Link para o post Compartilhar em outros sites