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.719 ]

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

Instalando o PostgreSQL no Slackware

Configurando a placa de som C-MEDIA (CM8738) no Slackware

Instalando e configurando o Squid no Slackware

Instalando e configurando um servidor DNS (Bind+CHROOT) no Slackware

Usando Spammer e SpamDomains no sendmail

Leitura recomendada

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

Criando sites para celular com WML

Referências ou ponteiros em PHP

Formantando nomes com caracteres especiais em PHP

Compactador de URL utilizando manipulação de diretórios do Linux com PHP

  
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