Utilizando o Smarty template no PHP

Nesse artigo vou explicar basicamente como criar um site em PHP utilizando o Smarty Templates. Para quem não sabe, template é uma metodologia que nos permite separar a programação lógica (PHP) da visual (HTML), o que torna o seu projeto mais organizado e seu código-fonte mais bonito aos olhos de terceiros.

[ Hits: 78.017 ]

Por: João Paulo de Oliveira Faria em 19/02/2005 | Blog: http://www.jpfaria.com


Estruturando um simples site em PHP usando o Smarty



Nesse passo vamos estruturar um site e vou explicar o que cada diretório é responsável em fazer.

OBS: Vou me basear que estamos usando o diretório /home/seusite.

1 - Entre no diretório do seu site:

# cd /home/seusite

2 - Vamos criar o diretório onde o Smarty compila todo o sistema e vamos dar a permissão necessária para que o "nobody" escreva sem problemas. Esse diretório é usado para arquivos temporários.

# mkdir templates_c/
# chown nobody:nobody templates_c


3 - Vamos criar os outros diretórios:

a) O diretório que usaremos para colocarmos arquivos de configurações e etc:

# mkdir includes/

b) O diretório onde guardamos nossos diretórios de template:

# mkdir templates/

c) Vamos criar o diretório para o nosso primeiro template, no caso usarei o nome "default", mas o nome pode ser qualquer um:

# mkdir templates/default

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. O que o Smarty é capaz de fazer
   3. Baixando o Smarty e instalando
   4. Estruturando um simples site em PHP usando o Smarty
   5. Criando os arquivos para o site
Outros artigos deste autor

Instalando o PostgreSQL no Slackware

Configurando o iptables-p2p no Slackware

PEAR - Utilizando classes prontas e documentadas no PHP

Controle de banda no Apache 1.3.X com mod_bandwidth (Slackware)

Qpopper (POP seguro) no Slackware

Leitura recomendada

Utilizando PHP para validar dados passados pelo usuário

Referências ou ponteiros em PHP

Criando um sistema de banners rotativos em PHP

Instalando Lamp Stack no Servidor Debian

Acessando o Twitter de 5 formas: protocolo HTTP, cURL, classe HttpRequest (PHP), função http_post_fields() do PHP ou PHP+libcurl

  
Comentários
[1] Comentário enviado por talegall em 19/02/2005 - 21:41h

Bem legall. Muito pratico. Nem fazia ideia do que era isso mas agora vejo que pode ser de grande utilidade. Obrigado!

[2] Comentário enviado por fernandoamador em 18/04/2006 - 18:59h

Legal!!!

[3] Comentário enviado por removido em 20/04/2006 - 01:10h

é só a galera não esquecer que usar arquivos "*.inc" é encrenca garantida em sites de grande visitaçao.

Abraços

[4] Comentário enviado por bigo.doido em 29/11/2006 - 22:44h

opa joão... blz?

é o seguinte, me ocorreu a seguinte dúvida...

se eu tiver vários arquivos de template (.tpl) que formam o layout...?
eu fiz um pequeno teste aqui e o meu arquivo index que chama os templates soh pega o primeiro arquivo de template que eu chamo quando eu dou o $smarty->display(' arquivo.tpl)... ou seja mais ou menos assim...

$smarty->display('index.tpl'); (que vai montar meu layout) (soh esse pega as variaveis do smarty)
$smarty->display('menu.tpl');
$smarty->display('conteudo.tpl ');
$smarty->display('cabecalho.tpl');
$smarty->display('rodape.tpl');

como eh que vou jogar os dados do meu bd no menu, conteudo, cabecalho e rodape....

valeu...

eduardo.

[5] Comentário enviado por jpfaria em 30/11/2006 - 05:15h

cara.. so vc usar includes.. no smarty.. ex...
$smarty->display('index.tpl');

ai la no seu index.tpl

{include file="header.tpl"}
{include file="menu.tpl"}
{include file="footer.tpl"}

abs

[6] Comentário enviado por YONATHA em 03/11/2007 - 17:37h

Parabéns João Paulo, esse metedodo facilita muito a vida e como você mesmo disse, organiza bem as estrutura so site.

Muito bom mesmo!

[7] Comentário enviado por fbinasco em 27/12/2007 - 15:21h

Gostei do artigo mas ficou uma duvida, ja utilizei o smarty em 3 projetos mas quando vou passar um array com numeros em vez de letras ele não funciona ex:

[php]
$array[nome] = NomedaPessoa;
[html]
NOME: {$array.nome}

Este funciona ok.
====================
mas este não.

$array[1] = NomedaPessoa;
NOME: {$array.1}

===================
enfim a pergunta é a seguinte, no smarty não da pra fazer isso mesmo ou a configuração do meu que não permite. Obrigado

[8] Comentário enviado por thifacco em 29/12/2009 - 14:24h

Instalei o Smarty e o PEAR no Ubuntu... estou curtindo muito programar com eles!
Excelente artigo!

[]s
@thifacco

[9] Comentário enviado por halen em 17/06/2011 - 11:32h

Muito bom,

vai ser uma bela ajuda para mim, e a documentação realmente é muito boa.

[10] Comentário enviado por napalmdth em 29/09/2011 - 13:39h

ai nesse caso seria assim:
$array[1] = NomedaPessoa;

HTML
NOME: {$array[1]}


qualquer coisa aqui a documentação em pt-br do smarty:
http://www.smarty.net/files/docs/manual-pt_BR-2.6.pdf


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts