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: 77.538 ]

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


Baixando o Smarty e instalando



1 - Baixando o tar.gz:

# wget http://smarty.php.net/do_download.php?download_file=Smarty-2.6.6.tar.gz

2 - Instalando. Existem duas formas de se instalar o Smarty no seu server, a primeira é instalando somente no site que você quer usar o Smarty e a outra forma, que eu acho mais adequada, é instalando diretamente no server para podermos usar em todo os sites do servidor.

a) Forma simples. Copie o tar.gz para dentro do diretório do seu site e extraia os arquivos:

# cp /diretorio/do/download/Smarty-2.6.6.tar.gz /home/seusite
# cd /home/seusite
# tar zxfpv Smarty-2.6.6.tar.gz
# rm -r Smarty-2.6.6.tar.gz


b) Forma server. Copie o tar.gz para o diretório LIB do PHP, assim teremos uma instalação de uma forma organizada, no caso do Slackware o dir LIB é o /usr/lib/php/includes:

# cp /diretorio/do/download/Smarty-2.6.6.tar.gz /usr/lib/php/includes
# cd /usr/lib/php/includes
# tar zxfpv Smarty-2.6.6.tar.gz
# rm -r Smarty-2.6.6.tar.gz


Edite o arquivo php.ini. No Slackware o php.ini fica em /etc/apache, altere a linha que começa com "include_path" para:

include_path = ".:/usr/lib/php:/usr/lib/php/includes"

3 - Reinicie o Apache:

# /etc/rc.d/rc.httpd restart

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

Solução completa com o sendmail

Solução completa com o sendmail (segunda edição)

Instalando o PostgreSQL no Slackware

Instalando e configurando um servidor DNS (Bind)

Sendmail com antivírus e autenticação SMTP

Leitura recomendada

PEAR - Utilizando classes prontas e documentadas no PHP

Utilizando PHP e Apache para desligar um Ubuntu

Prado - Orientação a componentes em PHP

Tags automáticas em URLs com a classe urlmatch da PHP

Guia completo do Ocomon no Linux - Módulo cliente, abertura de ocorrência (exclusivo VOL)

  
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