Desenvolvimento WEB PHP - MVC Apresentação 01 MVC – Visão geral Camada de apresentação Smarty
MVC <ul><li>MVC – Padrão de projeto de software </li></ul>
MVC <ul><li>Arquitetura de desenvolvimento em 3 camadas </li></ul><ul><li>Model - Modelo que implementa a camada de dados ...
View – Camada de Apresentação <ul><li>Camada responsável pela interface com o usuário </li></ul><ul><li>Envia as requisiçõ...
Smarty <ul><li>Para representar nossa camada de apresentação (view) usaremos o Smarty. </li></ul><ul><li>http://smarty.php...
O que é o Smarty? <ul><li>Sistema de templates para PHP; </li></ul><ul><li>Permite a separação da aplicação lógica e o con...
Smarty – Características <ul><li>Sistema de compilação de templates; </li></ul><ul><li>Só recompila os arquivos de templat...
Smarty - Instalação <ul><li>Requisitos </li></ul><ul><li>Servidor web com PHP 4.0.6 ou superior </li></ul><ul><li>Faça o d...
Smarty - Configuração <ul><li>Exemplo: </li></ul><ul><li>require('Smarty.class.php'); </li></ul><ul><li>$smarty = new Smar...
Smarty – PHP Constantes <ul><li>SMARTY_DIR   </li></ul><ul><li>Caminho completo do path para a localização dos arquivos de...
<ul><li>$template_dir   </li></ul><ul><li>Este é o nome padrão do diretório de templates. Por padrão é &quot;./templates&q...
Smarty – PHP Variáveis <ul><li>$compile_dir </li></ul><ul><li>Esse é o nome do diretório onde os template compilados estão...
Smarty – PHP Variáveis <ul><li>$plugins_dir </li></ul><ul><li>Esse é o diretório onde Smarty irá procurar por plugins que ...
Smarty – PHP Variáveis <ul><li>$cache_dir </li></ul><ul><li>Isso é o nome do diretório onde os caches do template são arma...
Smarty – PHP Variáveis <ul><li>$cache_lifetime </li></ul><ul><li>Isso é o tempo em segundos que um cache de template é vál...
Smarty – PHP Funções <ul><li>assign </li></ul><ul><li>Isso é usado para fixar valores para o template. Você pode explicita...
Smarty – PHP Funções <ul><li>display </li></ul><ul><li>Isso mostra o template executando todas as ações do mesmo, baseados...
Smarty – PHP Funções <ul><li>fetch </li></ul><ul><li>Essa função retorna a saída do template ao invés de mostrá-lo. </li><...
Smarty – Templates  Sintaxe básica <ul><li>Delimitadores: {  } </li></ul><ul><ul><li>Para o Smarty, todo o conteúdo fora d...
Smarty – Templates Funções <ul><li>Cada tag Smarty mostra uma variável ou utiliza algum tipo de função. Funções são proces...
Smarty – Templates Matemática <ul><li>Matemática </li></ul><ul><li>Matemática pode ser aplicada diretamente aos valores de...
Smarty – Templates Variáveis <ul><li>Variáveis que são definidas do PHP ou dentro do template são referenciadas precedendo...
Smarty – Templates Variáveis <ul><li>Exemplo 1: </li></ul><ul><li>index.php:  </li></ul><ul><li>$smarty = new Smarty; $sma...
Smarty – Templates Variáveis <ul><li>Exemplo 2: </li></ul><ul><li>index.tpl: </li></ul><ul><li>{assign var=&quot;nome&quot...
Smarty – Templates Variável reservada $smarty <ul><li>A variável reservada {$smarty} pode ser utilizada para acessar variá...
Smarty – Templates Variável reservada $smarty <ul><li>Mostra o valor de “page” da URL (GET)  </li></ul><ul><li>{$smarty.ge...
Smarty – Templates Variável reservada $smarty <ul><li>{$smarty.const} </li></ul><ul><li>Você pode acessar o valor de const...
Smarty – Templates Modificadores de variáveis <ul><li>Modificadores de variáveis podem ser aplicados a variáveis, funções ...
Smarty – Templates Modificadores de variáveis <ul><li>Exemplos: </li></ul><ul><li>Faz o título ficar com letras maiúsculas...
Smarty – Templates Modificadores de variáveis <ul><li>Alguns modificadores: </li></ul><ul><li>count_characters : conta o n...
Smarty – Templates Modificadores de variáveis <ul><li>lower : Converte para minúsculas uma variável. </li></ul><ul><li>Ex:...
Smarty – Templates Combinando modificadores de variáveis <ul><li>Você pode aplicar a quantidade de moficadores que quiser ...
Smarty – Templates Funções Internas <ul><li>O Smarty contém várias funções internas. Funções internas são parte integral d...
Smarty – Templates Funções Internas <ul><li>include </li></ul><ul><li>Tags include são usadas para incluir outros template...
Smarty – Templates Funções Internas <ul><li>if,elseif,else </li></ul><ul><li>Comandos {if} no Smarty tem muito da mesma fl...
Smarty – Templates Funções Internas <ul><li>Exemplos: </li></ul><ul><li>{if $name == &quot;Fred&quot; || $name == &quot;Wi...
Smarty – Templates Funções Internas <ul><li>section,sectionelse </li></ul><ul><li>Os 'sections' são usados para percorrer ...
Smarty – Templates Funções Internas <ul><li>A variável 'loop' (normalmente uma matriz de valores) determina o número de ve...
Smarty – Templates Funções Internas <ul><li>Exemplo: </li></ul><ul><li>{section name=consumidor loop=$custid} </li></ul><u...
Smarty – Templates Funções Internas <ul><li>foreach,foreachelse </li></ul><ul><li>foreach é uma alternativa para loops sec...
Smarty – Templates Funções Internas <ul><li>Exemplo: </li></ul><ul><li>{*este exemplo irá mostrar todos os valores da matr...
Smarty – Templates Funções Internas <ul><li>PHP </li></ul><ul><li>Tags php permitem que códigos php sejam embutidos direta...
Smarty – Templates Funções Internas <ul><li>literal </li></ul><ul><li>Tags literal permitem que um bloco de dados seja tra...
Smarty – Templates Funções Personalizadas <ul><li>O Smarty contém várias funções personalizadas que você pode usar em seus...
Smarty – Templates Funções Personalizadas <ul><li>assign </li></ul><ul><li>assign é usado para definir o valor de uma vari...
Smarty – Templates Funções Personalizadas <ul><li>html_options </li></ul><ul><li>html_options é uma função personalizada q...
Smarty – Templates Funções Personalizadas <ul><li>Exemplo: </li></ul><ul><li><select name=customer_id> </li></ul><ul><li>{...
Smarty – Templates Funções Personalizadas <ul><li>html_radios </li></ul><ul><li>Mesma funcionalidade da função anterior ma...
Smarty – Templates Funções Personalizadas <ul><li>Exemplos: </li></ul><ul><li>{html_radios  values=$cust_ids     output=$c...
Smarty – Templates Funções Personalizadas <ul><li>Exemplos: </li></ul><ul><li>{html_checkboxes  values=$cust_ids     outpu...
Referências <ul><li>Documentação do Smarty </li></ul><ul><ul><li>http://smarty.php.net/docs.php   </li></ul></ul>
Duvidas?
Upcoming SlideShare
Loading in...5
×

Slides

2,147

Published on

1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
2,147
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
62
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Slides

  1. 1. Desenvolvimento WEB PHP - MVC Apresentação 01 MVC – Visão geral Camada de apresentação Smarty
  2. 2. MVC <ul><li>MVC – Padrão de projeto de software </li></ul>
  3. 3. MVC <ul><li>Arquitetura de desenvolvimento em 3 camadas </li></ul><ul><li>Model - Modelo que implementa a camada de dados </li></ul><ul><li>Controller – Controle das requisições e acesso a camada model </li></ul><ul><li>View - Interface com usuário </li></ul>
  4. 4. View – Camada de Apresentação <ul><li>Camada responsável pela interface com o usuário </li></ul><ul><li>Envia as requisições do usuário para a camada de controle da aplicação </li></ul><ul><li>Torna a interface independente do negócio </li></ul>
  5. 5. Smarty <ul><li>Para representar nossa camada de apresentação (view) usaremos o Smarty. </li></ul><ul><li>http://smarty.php.net/ </li></ul>
  6. 6. O que é o Smarty? <ul><li>Sistema de templates para PHP; </li></ul><ul><li>Permite a separação da aplicação lógica e o conteúdo de sua apresentação; </li></ul><ul><li>Permite trabalhar no template apenas as regras de layout </li></ul>
  7. 7. Smarty – Características <ul><li>Sistema de compilação de templates; </li></ul><ul><li>Só recompila os arquivos de template que foram mudados; </li></ul><ul><li>Extensível, permite a criação de funções próprias e seus próprios modificadores de variáveis; </li></ul><ul><li>Suporte de caching embutido; </li></ul><ul><li>É possível embutir o código PHP diretamente em seus arquivos de template, apesar de não ser recomendado; </li></ul><ul><li>Arquitetura de Plugins; </li></ul>
  8. 8. Smarty - Instalação <ul><li>Requisitos </li></ul><ul><li>Servidor web com PHP 4.0.6 ou superior </li></ul><ul><li>Faça o download da ultima versão do Smarty </li></ul><ul><li>Crie a seguinte estrutura: </li></ul><ul><li>/ - raiz, onde estarão os seus aplicativos em php </li></ul><ul><li>/cache - caso queira aplicar cache na sua aplicação esta é a pasta onde ficará o arquivo de cache (chmod 755) </li></ul><ul><li>/templates - pasta onde o WebDesigner vai trabalhar, mais propriamente dito como o diretório dos templates (HTML's) </li></ul><ul><li>/templates_c - pasta onde o ficará a compilação do template + php, onde o proprio smarty irá gerar os arquivos ali listados. (chmod 755) </li></ul>
  9. 9. Smarty - Configuração <ul><li>Exemplo: </li></ul><ul><li>require('Smarty.class.php'); </li></ul><ul><li>$smarty = new Smarty; </li></ul><ul><li>$smarty->assign('nome','Thomas'); </li></ul><ul><li>$smarty->display('index.tpl'); </li></ul>
  10. 10. Smarty – PHP Constantes <ul><li>SMARTY_DIR </li></ul><ul><li>Caminho completo do path para a localização dos arquivos de classe da Smarty. </li></ul><ul><li>Ex: </li></ul><ul><li>define(&quot;SMARTY_DIR&quot;,&quot;/usr/local/lib/php/Smarty/&quot;); </li></ul><ul><li>require_once(SMARTY_DIR.&quot;Smarty.class.php&quot;); </li></ul>
  11. 11. <ul><li>$template_dir </li></ul><ul><li>Este é o nome padrão do diretório de templates. Por padrão é &quot;./templates&quot;, significando que irá olhar para o diretório de templates no mesmo diretório que está executando o script PHP. </li></ul>Smarty – PHP Variáveis
  12. 12. Smarty – PHP Variáveis <ul><li>$compile_dir </li></ul><ul><li>Esse é o nome do diretório onde os template compilados estão localizados Por padrão é &quot;./templates_c&quot;, significando que irá olhar para o diretório templates_c no mesmo diretório que está executando o script PHP. </li></ul>
  13. 13. Smarty – PHP Variáveis <ul><li>$plugins_dir </li></ul><ul><li>Esse é o diretório onde Smarty irá procurar por plugins que são necessários. O Padrão é &quot;plugins&quot; sob o SMARTY_DIR. Se vocês especificar um path relativo, Smarty irá primeiro procurar sob o SMARTY_DIR, então relativo para o diretório atual. </li></ul>
  14. 14. Smarty – PHP Variáveis <ul><li>$cache_dir </li></ul><ul><li>Isso é o nome do diretório onde os caches do template são armazenados. Por padrão isso é &quot;./cache&quot;, significando que irá olhar para o diretório de cache no mesmo diretório que executar scripts PHP. </li></ul>
  15. 15. Smarty – PHP Variáveis <ul><li>$cache_lifetime </li></ul><ul><li>Isso é o tempo em segundos que um cache de template é válido. Uma vez que este tempo está expirado, o cache irá ser gerado novamente. </li></ul>
  16. 16. Smarty – PHP Funções <ul><li>assign </li></ul><ul><li>Isso é usado para fixar valores para o template. Você pode explicitamente passar pares de nomes/valores, ou um array associativo contendo o par de nome/valor </li></ul><ul><li>$smarty->assign(&quot;Name&quot;,&quot;Fred&quot;); </li></ul><ul><li>$smarty->assign(&quot;Address&quot;,$address); </li></ul><ul><li>$smarty->assign(array(&quot;city&quot; => &quot;Lincoln“, </li></ul><ul><li> &quot;state&quot; => &quot;Nebraska&quot;)); </li></ul>
  17. 17. Smarty – PHP Funções <ul><li>display </li></ul><ul><li>Isso mostra o template executando todas as ações do mesmo, baseados nas variáveis passadas para o mesmo. </li></ul><ul><li>$smarty->display(&quot;index.tpl&quot;); </li></ul>
  18. 18. Smarty – PHP Funções <ul><li>fetch </li></ul><ul><li>Essa função retorna a saída do template ao invés de mostrá-lo. </li></ul><ul><li>$output = $smarty->fetch(&quot;index.tpl&quot;); </li></ul><ul><li>echo $output; </li></ul>
  19. 19. Smarty – Templates Sintaxe básica <ul><li>Delimitadores: { } </li></ul><ul><ul><li>Para o Smarty, todo o conteúdo fora dos delimitadores é mostrado como conteúdo estático, ou inalterável. Quando o Smarty encontra tags de template, ele tenta interpretá-las, e então mostra a saída apropriada em seu lugar. </li></ul></ul><ul><li>Comentários: {* *} </li></ul><ul><ul><li>Comentários do Smarty não são exibidos no resultado final do template. </li></ul></ul>
  20. 20. Smarty – Templates Funções <ul><li>Cada tag Smarty mostra uma variável ou utiliza algum tipo de função. Funções são processadas e exibidas colocando-se a função e seus atributos entre delimitadores, </li></ul><ul><li>exemplo: </li></ul><ul><ul><li>{funcname attr1=&quot;val&quot; attr2=&quot;val&quot;} </li></ul></ul><ul><ul><li>{include file=&quot;cabecalho.tpl&quot;} </li></ul></ul>
  21. 21. Smarty – Templates Matemática <ul><li>Matemática </li></ul><ul><li>Matemática pode ser aplicada diretamente aos valores de variáveis. </li></ul><ul><li>{* exemplo *} </li></ul><ul><li>{if ($foo$baz*134232+10+$b+10) == 0} </li></ul><ul><li>... </li></ul><ul><li>{/if} </li></ul>
  22. 22. Smarty – Templates Variáveis <ul><li>Variáveis que são definidas do PHP ou dentro do template são referenciadas precedendo elas com o sinal $. </li></ul>
  23. 23. Smarty – Templates Variáveis <ul><li>Exemplo 1: </li></ul><ul><li>index.php: </li></ul><ul><li>$smarty = new Smarty; $smarty->assign(‘Nome',”João”); </li></ul><ul><li>$smarty->display('index.tpl'); </li></ul><ul><li>index.tpl: </li></ul><ul><li>Nome: {$nome}<br> </li></ul><ul><li>MOSTRA: </li></ul><ul><li>Nome: João </li></ul>
  24. 24. Smarty – Templates Variáveis <ul><li>Exemplo 2: </li></ul><ul><li>index.tpl: </li></ul><ul><li>{assign var=&quot;nome&quot; value=&quot;Bob&quot;} </li></ul><ul><li>Nome: {$nome} </li></ul><ul><li>MOSTRA: </li></ul><ul><li>Nome: Bob </li></ul>
  25. 25. Smarty – Templates Variável reservada $smarty <ul><li>A variável reservada {$smarty} pode ser utilizada para acessar variáveis especiais do template. </li></ul>
  26. 26. Smarty – Templates Variável reservada $smarty <ul><li>Mostra o valor de “page” da URL (GET) </li></ul><ul><li>{$smarty.get.page} </li></ul><ul><li>Mostra a variável &quot;page&quot; de um formulário (POST) </li></ul><ul><li>{$smarty.post.page} </li></ul><ul><li>Mostra o valor do cookie &quot;username“ </li></ul><ul><li>{$smarty.cookies.username} </li></ul><ul><li>Mostra a variável de session do php &quot;id“ </li></ul><ul><li>{$smarty.session.id} </li></ul><ul><li>Mostra a variável &quot;username&quot; da união do request </li></ul><ul><li>{$smarty.request.username} </li></ul>
  27. 27. Smarty – Templates Variável reservada $smarty <ul><li>{$smarty.const} </li></ul><ul><li>Você pode acessar o valor de constantes PHP diretamente </li></ul><ul><li>Ex: {$smarty.const._MY_CONST_VAL} </li></ul><ul><li>{$smarty.section}, {$smarty.foreach} </li></ul><ul><li>A variável {$smarty} pode ser usada para se referir a propriedades 'section' e 'foreach' de loop. </li></ul>
  28. 28. Smarty – Templates Modificadores de variáveis <ul><li>Modificadores de variáveis podem ser aplicados a variáveis, funções personalizadas ou strings. Para aplicar um modificador, especifique o valor seguido por | e o nome do modificador. </li></ul><ul><li>Um modificador aceita parâmetros adicionais que afetam o seu comportamento. Estes parâmetros vem após o nome do modificador e são separados por : (dois pontos). </li></ul>
  29. 29. Smarty – Templates Modificadores de variáveis <ul><li>Exemplos: </li></ul><ul><li>Faz o título ficar com letras maiúsculas {$titulo|upper} </li></ul><ul><li>Faz com que $topico use somente 40 caracteres, e coloca ... no fim da frase Tópico: {$topico|truncate:40:&quot;...&quot;} </li></ul>
  30. 30. Smarty – Templates Modificadores de variáveis <ul><li>Alguns modificadores: </li></ul><ul><li>count_characters : conta o número de caracteres em uma variável. </li></ul><ul><li>Ex: {$articleTitle|count_characters} </li></ul><ul><li>default : define um valor padrão para uma variável caso esteja vazia. </li></ul><ul><li>Ex: {$myTitle|default:&quot;no title&quot;} </li></ul>
  31. 31. Smarty – Templates Modificadores de variáveis <ul><li>lower : Converte para minúsculas uma variável. </li></ul><ul><li>Ex: {$articleTitle|lower} </li></ul><ul><li>upper : Converte para maiúsculas uma variável </li></ul><ul><li>Ex: {$articleTitle|upper} </li></ul><ul><li>replace : Localiza e substitui strings em uma variável </li></ul><ul><li>Ex: {$articleTitle|replace:“Titulo&quot;:“Title&quot;} </li></ul>
  32. 32. Smarty – Templates Combinando modificadores de variáveis <ul><li>Você pode aplicar a quantidade de moficadores que quiser à uma variável. Eles serão aplicados na ordem em que foram combinados, da esquerda para direita. Eles devem ser separados com o caracter | . </li></ul><ul><li>Ex: </li></ul><ul><li>{$articleTitle|lower|truncate:30|spacify} </li></ul>
  33. 33. Smarty – Templates Funções Internas <ul><li>O Smarty contém várias funções internas. Funções internas são parte integral da linguagem de template. Você não pode criar funções personalizadas com o mesmo nome de uma função interna, e também não pode modificar funções internas. </li></ul>
  34. 34. Smarty – Templates Funções Internas <ul><li>include </li></ul><ul><li>Tags include são usadas para incluir outros templates no template atual. Quaisquer variáveis disponíveis no template atual também estarão disponíveis junto com template incluído. A tag include deve ter o atributo &quot;file&quot;, o qual contém o caminho do arquivo a incluir. </li></ul><ul><li>{include file=&quot;cabecalho.tpl&quot;} </li></ul>
  35. 35. Smarty – Templates Funções Internas <ul><li>if,elseif,else </li></ul><ul><li>Comandos {if} no Smarty tem muito da mesma flexibilidade do php, com algumas características à mais para o sistema de template. Todo if deve ter o seu /if. else e elseif também são permitidos. Todos os condicionais do PHP são reconhecidos, tais como ||, or, &&, and, etc. </li></ul>
  36. 36. Smarty – Templates Funções Internas <ul><li>Exemplos: </li></ul><ul><li>{if $name == &quot;Fred&quot; || $name == &quot;Wilma&quot;} </li></ul><ul><li>... </li></ul><ul><li>{/if} </li></ul><ul><li>{if $name == &quot;Fred&quot;} </li></ul><ul><li>Bem vindo Sr. </li></ul><ul><li>{elseif $name == &quot;Wilma&quot;} </li></ul><ul><li>Bem vinda Sra. </li></ul><ul><li>{else} </li></ul><ul><li>Bem vindo, seja qual for seu nome. </li></ul><ul><li>{/if} </li></ul>
  37. 37. Smarty – Templates Funções Internas <ul><li>section,sectionelse </li></ul><ul><li>Os 'sections' são usados para percorrer os dados de uma matriz. </li></ul><ul><li>Todas as tags section devem ser finalizadas com /section . </li></ul><ul><li>Os parâmetros obrigatórios são name e loop . </li></ul><ul><li>O nome da 'section' pode ser o que você quiser, contendo letras, números e sublinhados. </li></ul><ul><li>As 'sections' podem ser aninhadas, e os nomes das sections devem ser únicos. </li></ul>
  38. 38. Smarty – Templates Funções Internas <ul><li>A variável 'loop' (normalmente uma matriz de valores) determina o número de vezes que a section será percorrida. </li></ul><ul><li>Quando estiver exibindo uma variável dentro de uma section, o nome da section deve estar ao lado da variável dentro de conchetes []. sectionelse é executado quando não houver valores na variável 'loop'. </li></ul>
  39. 39. Smarty – Templates Funções Internas <ul><li>Exemplo: </li></ul><ul><li>{section name=consumidor loop=$custid} </li></ul><ul><li>id: {$custid[consumidor]}<br> </li></ul><ul><li>{sectionelse} </li></ul><ul><li>não há valores em $custid. </li></ul><ul><li>{/section} </li></ul><ul><li>matrizes associativas </li></ul><ul><li>{section name=consumidor loop=$contatos} </li></ul><ul><li>nome: {$contatos[consumidor].nome}<br> </li></ul><ul><li>telefone: {$contatos[consumidor].telefone}<br> </li></ul><ul><li>celular: {$contatos[consumidor].celular}<br> </li></ul><ul><li>e-mail: {$contatos[consumidor].email}<p> </li></ul><ul><li>{/section} </li></ul>
  40. 40. Smarty – Templates Funções Internas <ul><li>foreach,foreachelse </li></ul><ul><li>foreach é uma alternativa para loops section. </li></ul><ul><li>foreach é usado para pegar cada elemento de uma matriz associativa simples. </li></ul><ul><li>A sintaxe para foreach é muito mais simples do que section, mas tem a desvantagem de poder ser usada apenas para uma única matriz. </li></ul><ul><li>Tags foreach devem ter seu par /foreach. </li></ul><ul><li>Os parâmetros requeridos são from e item. </li></ul><ul><li>Loops foreach podem ser aninhados. </li></ul><ul><li>A variável from (normalmente uma matriz de valores) determina o número de vezes do loop foreach. </li></ul><ul><li>foreachelse é executado se não houverem mais valores na variável from. </li></ul>
  41. 41. Smarty – Templates Funções Internas <ul><li>Exemplo: </li></ul><ul><li>{*este exemplo irá mostrar todos os valores da matriz $custid*} </li></ul><ul><li>{foreach from=$custid item=curr_id} </li></ul><ul><li>id: {$curr_id}<br> </li></ul><ul><li>{/foreach} </li></ul><ul><li>MOSTRA: </li></ul><ul><li>id: 1000<br> </li></ul><ul><li>id: 1001<br> </li></ul><ul><li>id: 1002<br> </li></ul>
  42. 42. Smarty – Templates Funções Internas <ul><li>PHP </li></ul><ul><li>Tags php permitem que códigos php sejam embutidos diretamente nos templates. </li></ul><ul><li>{php} </li></ul><ul><li>// incluindo um script php </li></ul><ul><li>include(&quot;/caminho/para/condicoes_do_tempo.php&quot;); </li></ul><ul><li>{/php} </li></ul>
  43. 43. Smarty – Templates Funções Internas <ul><li>literal </li></ul><ul><li>Tags literal permitem que um bloco de dados seja tratado literalmente, ou seja, não é interpretado pelo Smarty. </li></ul><ul><li>Isto é tipicamente usado com blocos de código javascript ou folhas de estilo (stylesheet), que às vezes contém chaves que podem entrar em conflito com o delimitador de sintaxe. </li></ul><ul><li>Qualquer coisa entre {literal}{/literal} não é interpretado, mas é mostrado. </li></ul><ul><li>{literal} </li></ul><ul><li><script language=javascript> </li></ul><ul><li>function alo() { alert(“alo”); } </li></ul><ul><li></script> </li></ul><ul><li>{/literal} </li></ul>
  44. 44. Smarty – Templates Funções Personalizadas <ul><li>O Smarty contém várias funções personalizadas que você pode usar em seus templates. </li></ul><ul><li>O Smarty suporta que você crie suas próprias funções personalizadas e use em seus templates. </li></ul>
  45. 45. Smarty – Templates Funções Personalizadas <ul><li>assign </li></ul><ul><li>assign é usado para definir o valor de uma variável de template durante a execução do template. </li></ul><ul><li>{assign var=&quot;nome&quot; value=&quot;Bob&quot;} </li></ul><ul><li>O valor de $nome é {$nome}. </li></ul><ul><li>MOSTRA: </li></ul><ul><li>O valor de $nome é Bob. </li></ul>
  46. 46. Smarty – Templates Funções Personalizadas <ul><li>html_options </li></ul><ul><li>html_options é uma função personalizada que cria um grupo html option com os dados fornecidos. </li></ul><ul><li>Ela está atenta de quais itens estão selecionados por padrão. </li></ul><ul><li>Atributos obrigatórios são 'values' e 'output', a menos que você use options no lugar. </li></ul>
  47. 47. Smarty – Templates Funções Personalizadas <ul><li>Exemplo: </li></ul><ul><li><select name=customer_id> </li></ul><ul><li>{html_options values=$cust_ids selected=$customer_id output=$cust_names} </li></ul><ul><li></select> </li></ul><ul><li>Matriz associativa </li></ul><ul><li><select name=customer_id> </li></ul><ul><li>{html_options options=$cust_options selected=$customer_id} </li></ul><ul><li></select> </li></ul>
  48. 48. Smarty – Templates Funções Personalizadas <ul><li>html_radios </li></ul><ul><li>Mesma funcionalidade da função anterior mas monta um grupo de inputs do tipo radio button. </li></ul><ul><li>html_checkboxes </li></ul><ul><li>Mesma funcionalidade da função anterior mas monta um grupo de inputs do tipo checkbox. </li></ul>
  49. 49. Smarty – Templates Funções Personalizadas <ul><li>Exemplos: </li></ul><ul><li>{html_radios values=$cust_ids output=$cust_names </li></ul><ul><li> OU </li></ul><ul><li> options=$cust_options </li></ul><ul><li> checked=$customer_id (array) separator=&quot;<br />“ </li></ul><ul><li>} </li></ul>
  50. 50. Smarty – Templates Funções Personalizadas <ul><li>Exemplos: </li></ul><ul><li>{html_checkboxes values=$cust_ids output=$cust_names </li></ul><ul><li> OU </li></ul><ul><li> options=$cust_checkboxes </li></ul><ul><li> checked=$customer_id separator=&quot;<br />“ </li></ul><ul><li>} </li></ul>
  51. 51. Referências <ul><li>Documentação do Smarty </li></ul><ul><ul><li>http://smarty.php.net/docs.php </li></ul></ul>
  52. 52. Duvidas?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×