SlideShare uma empresa Scribd logo
Programação Web
   Fatec Ipiranga
   Análise e Desenvolvimento de Sistemas


   Aula 10 – Trabalhando com Templates




      Dalton Martins
    dmartins@gmail.com

 São Paulo, Novembro, 2011




Aula baseada no tutorial: http://raelcunha.com/template.php
Para que servem os Templates?
Boas práticas de programação presumem que
 tenhamos nosso sistemas organizado em 3
 camadas:
    – Camada de interface: o que é utilizado pelo usuário
       no acesso ao sistema;
    – Camada de lógica: onde fica a lógica do sistema,
       fluxos de informação, processos, cálculos, etc,
    – Camada de persistência de dados: onde são
       guardados os dados – Banco de Dados.
Os templates servem para separar camada de
 interface e lógica!
Para que servem os Templates?
Na prática, teremos:
    – Arquivos HTML: contém toda a interface de
       relação com o usuário, objetos de interface,
       configuração visual, cores, fontes, blocos,
       menus, etc...
    – Arquivos PHP: irão incorporar os arquivos HTML,
       podendo configurar determinadas partes de
       sua exibição conforme suas necessidades
       expecíficas.
Biblioteca de Template
O PHP possui várias bibliotecas de templates para
 apoiar esse tipo de desenvolvimento.
     – Exemplos: smarty, phptemplate, zend, etc...
No entanto, muitas são complexas e difíceis de utilizar,
 demandando tempo de estudo;
Iremos utilizar uma biblioteca das mais simples, que no
  entanto atende aos requisitos para separação do
  sistema em camadas:
     – Baixar o arquivo e instalar no diretório do programa;
     – http://raelcunha.com/packages/extra/template/files/Templ
         ate_pt-br.zip
Começando...
Vamos gerar inicialmente dois arquivos:
        – Ola.php
        – Ola.html


<?php                               <html>
                                    <body>
 require("Template.class.php");
                                       Olá Mundo, com templates PHP!
 $tpl = new Template("ola.html");
                                    </body>
 $tpl->show();                      </html>

?>
Configurando variáveis


                                      <?php
<html>
<body>                                 require("Template.class.php");
   Olá {FULANO}, com templates PHP!    $tpl = new Template("ola.html");
                                       $tpl->FULANO = "TESTE";
</body>                                $tpl->show();
</html>
                                      ?>
Checando se variáveis existem

  <?php

   require("Template.class.php");

   $tpl = new Template("layout.html");

   // Checando existência da variável antes da atribuição
   if($tpl->exists("FULANO")) $tpl->FULANO = "TESTE";

   $tpl->show();

  ?>
Trabalhando com blocos

<html>
<body>

    <p>Quantidade de produtos cadastrados no sistema:</p>

    <!-- BEGIN BLOCK_QUANTIDADE -->
    <div class="destaque">Existem {QUANTIDADE} produtos cadastrados.</div>
    <!-- END BLOCK_QUANTIDADE -->

    <!-- BEGIN BLOCK_VAZIO -->
    <div class="vazio">Não existe nenhum produto cadastrado.</div>
    <!-- END BLOCK_VAZIO -->

</body>

</html>
Trabalhando com blocos
<?php

 require("Template.class.php");

 $tpl = new Template("hello.html");

 // Vamos supor que esta quantidade veio do banco de dados
 $quantidade = 5;

 // Se existem produtos cadastrados, vamos exibir a quantidade
 if($quantidade > 0){
     $tpl->QUANTIDADE = $quantidade;
     $tpl->block("BLOCK_QUANTIDADE");
 }

 // Caso não exista nenhum produto, exibimos a mensagem de vazio
 else {
    $tpl->block("BLOCK_VAZIO");
 }


 $tpl->show();

?>
Trabalhando com blocos e tabelas
      <html>
      <body>

         <p>Produtos cadastrados no sistema:</p>

         <table border=1>


                <tr><td>Nome</td><td>Quantidade</td></tr>

                <!-- BEGIN BLOCK_PRODUTO -->
                     <tr>
                          <td> {NOME} </td>
                          <td> {QUANTIDADE} </td>
                     </tr>
                <!-- END BLOCK_PRODUTO -->

         </table>

      </body>
      </html>
Trabalhando com blocos e tabelas
    <?php

     require("Template.class.php");

     $tpl = new Template("hello.html");

     // Simulando produtos cadastrados no banco de dados
     $produtos = array(
        array("nome" => "Sabão em Pó", "quantidade" => 15),
        array("nome" => "Escova de Dente", "quantidade" => 53),
        array("nome" => "Creme Dental", "quantidade" => 37)
     );

     // Listando os produtos
     foreach($produtos as $p){
         $tpl->NOME = $p["nome"];
         $tpl->QUANTIDADE = $p["quantidade"];
         $tpl->block("BLOCK_PRODUTO");
     }

     $tpl->show();

    ?>
Trabalhando com layouts
<html>
<body>
<div id="layout" style="width:500px">

<div id="cabecalho" style="background-color:#FFA500;">
<h1 style="margin-bottom:0;">{TITULO}</h1></div>

<div id="menu" style="background-color:#FFD700;height:400px;width:100px;float:left;">
<b>Menu</b><br />
<a href="{LINK1}">{OPCAO1}</a><br />
<a href="{LINK2}">{OPCAO2}</a><br />
{OPCAO3}</div>

<div id="conteudo" style="background-color:#EEEEEE;height:400px;width:400px;float:left;">

<form action="exemplosimples.php" method="post">
<fieldset>
<br>
<legend>Informacoes pessoais:</legend>
Nome: <input type="text" name="nome" size="30" /><br />
email: <input type="text" name="email" size="30" /><br />
Data de nascimento: <input name="data" type="text" size="10" /><br>
<textarea rows="10" cols="30" name="areatexto"> Informacoes extras: </textarea> <br>

<input type="submit" name = "enviar" value="Enviar" />

</fieldset>
</form>
</div>
<div id="footer" style="background-color:#FFA500;clear:both;text-align:center;">
Copyleft FATEC Ipiranga</div>

</div>
</body>
</html>
Trabalhando com layouts

<?php

 require("Template.class.php");

 $tpl = new Template("layout.html");
 $tpl->TITULO = "fatec ipiranga";
 $tpl->OPCAO1 = "OPCAO MENU 1";
 $tpl->LINK1 = "http://www.facebook.com";

 $tpl->OPCAO2 = "OPCAO MENU 2";
 $tpl->LINK2 = "http://www.google.com.br";

 $tpl->show();

?>

Mais conteúdo relacionado

Mais procurados

Sql - Comandos dml do mysql - parte 1
Sql - Comandos dml do mysql - parte 1Sql - Comandos dml do mysql - parte 1
Sql - Comandos dml do mysql - parte 1
Arley Rodrigues
 
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
Rafael Jaques
 
Php 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosPhp 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosRegis Magalhães
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL Básico
Igor Alves
 
Python 07
Python 07Python 07
Python 07
Bruno Catão
 
Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2
Thyago Maia
 
PHP básico para iniciantes
PHP básico para iniciantesPHP básico para iniciantes
PHP básico para iniciantes
Eduardo Mendes
 
Desenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored ProcedureDesenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored Procedure
Fernando Roberto Proença
 
Introdução a Desenvolvimento Web
Introdução a Desenvolvimento WebIntrodução a Desenvolvimento Web
Introdução a Desenvolvimento Web
PeslPinguim
 
Sql Server Stored Procedures
Sql Server   Stored ProceduresSql Server   Stored Procedures
Sql Server Stored Proceduresalexdutra
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggers
Daniel Maia
 
Prática de laboratório utilizando views, stored procedures e triggers
Prática de laboratório   utilizando views, stored procedures e triggersPrática de laboratório   utilizando views, stored procedures e triggers
Prática de laboratório utilizando views, stored procedures e triggers
Daniel Maia
 
Solr - Indexação e Busca com ferramenta Open Source
Solr - Indexação e Busca com ferramenta Open SourceSolr - Indexação e Busca com ferramenta Open Source
Solr - Indexação e Busca com ferramenta Open Source
Marcelo Rodrigues
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidademetzen
 
Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4Carlos Santos
 
Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2
Eduardo Mendes
 
Java script - funções
Java script - funçõesJava script - funções
Java script - funções
Cristiano Pires Martins
 

Mais procurados (20)

Java script aula 02 - operadores
Java script   aula 02 - operadoresJava script   aula 02 - operadores
Java script aula 02 - operadores
 
Sql - Comandos dml do mysql - parte 1
Sql - Comandos dml do mysql - parte 1Sql - Comandos dml do mysql - parte 1
Sql - Comandos dml do mysql - parte 1
 
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
 
Php 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosPhp 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies Cabecalhos
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL Básico
 
Python 07
Python 07Python 07
Python 07
 
Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2
 
PHP básico para iniciantes
PHP básico para iniciantesPHP básico para iniciantes
PHP básico para iniciantes
 
Desenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored ProcedureDesenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored Procedure
 
Introdução a Desenvolvimento Web
Introdução a Desenvolvimento WebIntrodução a Desenvolvimento Web
Introdução a Desenvolvimento Web
 
Sql Server Stored Procedures
Sql Server   Stored ProceduresSql Server   Stored Procedures
Sql Server Stored Procedures
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggers
 
Php 05 Mvc
Php 05 MvcPhp 05 Mvc
Php 05 Mvc
 
Prática de laboratório utilizando views, stored procedures e triggers
Prática de laboratório   utilizando views, stored procedures e triggersPrática de laboratório   utilizando views, stored procedures e triggers
Prática de laboratório utilizando views, stored procedures e triggers
 
Solr - Indexação e Busca com ferramenta Open Source
Solr - Indexação e Busca com ferramenta Open SourceSolr - Indexação e Busca com ferramenta Open Source
Solr - Indexação e Busca com ferramenta Open Source
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidade
 
Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4
 
Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2
 
Slides
SlidesSlides
Slides
 
Java script - funções
Java script - funçõesJava script - funções
Java script - funções
 

Semelhante a Aula 10 - Trabalhando com Templates - Programação Web

Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8
Emiliano Barbosa
 
Php aula1
Php aula1Php aula1
Palestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopPalestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl Workshop
Alexei Znamensky
 
Aula 1 linguagem html (1)
Aula 1   linguagem html (1)Aula 1   linguagem html (1)
Aula 1 linguagem html (1)Kaoru Hatake
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Arlindo Santos
 
Html5 workshop
Html5 workshopHtml5 workshop
Html5 workshop
Sérgio Laranjeira
 
3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29Juliana Nascimento
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana framework
Marcelo Rodrigo
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdf
GabrielaMota46
 
servlet-requisicoes
servlet-requisicoesservlet-requisicoes
servlet-requisicoes
Fábio Nogueira de Lucena
 
Otimizando a performance com in memory no sql 2016
Otimizando a performance com in memory no sql 2016Otimizando a performance com in memory no sql 2016
Otimizando a performance com in memory no sql 2016
Luiz Henrique Garetti Rosário
 
Pg2
Pg2Pg2
Pg2
csmp
 
Pgads42
Pgads42Pgads42
Pgads42
csmp
 
Crud
CrudCrud
Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4Fabio Telles Rodriguez
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Thyago Maia
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017
Luis Gustavo Almeida
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
Pablo Dall'Oglio
 

Semelhante a Aula 10 - Trabalhando com Templates - Programação Web (20)

Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8
 
Php aula1
Php aula1Php aula1
Php aula1
 
Palestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopPalestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl Workshop
 
Aula 1 linguagem html (1)
Aula 1   linguagem html (1)Aula 1   linguagem html (1)
Aula 1 linguagem html (1)
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Html5 workshop
Html5 workshopHtml5 workshop
Html5 workshop
 
3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29
 
3260 php truquesmagicos
3260 php truquesmagicos3260 php truquesmagicos
3260 php truquesmagicos
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana framework
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdf
 
servlet-requisicoes
servlet-requisicoesservlet-requisicoes
servlet-requisicoes
 
Otimizando a performance com in memory no sql 2016
Otimizando a performance com in memory no sql 2016Otimizando a performance com in memory no sql 2016
Otimizando a performance com in memory no sql 2016
 
Pg2
Pg2Pg2
Pg2
 
Pgads42
Pgads42Pgads42
Pgads42
 
Crud
CrudCrud
Crud
 
Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 

Mais de Dalton Martins

Computação cognitiva e políticas culturais
Computação cognitiva e políticas culturaisComputação cognitiva e políticas culturais
Computação cognitiva e políticas culturais
Dalton Martins
 
Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...
Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...
Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...
Dalton Martins
 
Cultura digital, museus e acervos em rede
Cultura digital, museus e acervos em redeCultura digital, museus e acervos em rede
Cultura digital, museus e acervos em rede
Dalton Martins
 
Digitalização da cultura brasileira - as motivações do projeto Tainacan
Digitalização da cultura brasileira - as motivações do projeto TainacanDigitalização da cultura brasileira - as motivações do projeto Tainacan
Digitalização da cultura brasileira - as motivações do projeto Tainacan
Dalton Martins
 
Processos colaborativos de produção de ontologias - I Fórum Nacional de Sist...
Processos colaborativos de produção de ontologias  - I Fórum Nacional de Sist...Processos colaborativos de produção de ontologias  - I Fórum Nacional de Sist...
Processos colaborativos de produção de ontologias - I Fórum Nacional de Sist...
Dalton Martins
 
Do documento às ontologias: uma visão sobre sistemas de organização do conhec...
Do documento às ontologias: uma visão sobre sistemas de organização do conhec...Do documento às ontologias: uma visão sobre sistemas de organização do conhec...
Do documento às ontologias: uma visão sobre sistemas de organização do conhec...
Dalton Martins
 
Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...
Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...
Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...
Dalton Martins
 
Criança, mídia e consumo na formação de professores
Criança, mídia e consumo na formação de professoresCriança, mídia e consumo na formação de professores
Criança, mídia e consumo na formação de professores
Dalton Martins
 
Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...
Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...
Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...
Dalton Martins
 
In search of a model of human dynamics analysis applied to social sciences
In search of a model of human dynamics analysis applied to social sciencesIn search of a model of human dynamics analysis applied to social sciences
In search of a model of human dynamics analysis applied to social sciences
Dalton Martins
 
Novos caminhos da inclusão digital: experiências do projeto +Telecentros
Novos caminhos da inclusão digital: experiências do projeto +TelecentrosNovos caminhos da inclusão digital: experiências do projeto +Telecentros
Novos caminhos da inclusão digital: experiências do projeto +Telecentros
Dalton Martins
 
Aula 01 introdução e conceitos básicos sobre gestão
Aula 01   introdução e conceitos básicos sobre gestãoAula 01   introdução e conceitos básicos sobre gestão
Aula 01 introdução e conceitos básicos sobre gestão
Dalton Martins
 
Apresentação Semana de Humanização da Saúde: uma visão quantitativa
Apresentação Semana de Humanização da Saúde: uma visão quantitativaApresentação Semana de Humanização da Saúde: uma visão quantitativa
Apresentação Semana de Humanização da Saúde: uma visão quantitativa
Dalton Martins
 
Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...
Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...
Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...
Dalton Martins
 
Design da Informação - Aula 03 - Princípios do design de informação
Design da Informação - Aula 03 - Princípios do design de informaçãoDesign da Informação - Aula 03 - Princípios do design de informação
Design da Informação - Aula 03 - Princípios do design de informação
Dalton Martins
 
Aula 04 - Tópicos em Gestão da Informação Medidas de posição relativa
Aula 04 - Tópicos em Gestão da Informação Medidas de posição relativaAula 04 - Tópicos em Gestão da Informação Medidas de posição relativa
Aula 04 - Tópicos em Gestão da Informação Medidas de posição relativa
Dalton Martins
 
Aula 02 - Design da Informação - História e princípios do design de informação
Aula 02 - Design da Informação - História e princípios do design de informaçãoAula 02 - Design da Informação - História e princípios do design de informação
Aula 02 - Design da Informação - História e princípios do design de informação
Dalton Martins
 
Aula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrõesAula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrões
Dalton Martins
 
Aula 02 - Estatística da vida cotidiana
Aula 02 - Estatística da vida cotidianaAula 02 - Estatística da vida cotidiana
Aula 02 - Estatística da vida cotidiana
Dalton Martins
 
Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...
Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...
Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...
Dalton Martins
 

Mais de Dalton Martins (20)

Computação cognitiva e políticas culturais
Computação cognitiva e políticas culturaisComputação cognitiva e políticas culturais
Computação cognitiva e políticas culturais
 
Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...
Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...
Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...
 
Cultura digital, museus e acervos em rede
Cultura digital, museus e acervos em redeCultura digital, museus e acervos em rede
Cultura digital, museus e acervos em rede
 
Digitalização da cultura brasileira - as motivações do projeto Tainacan
Digitalização da cultura brasileira - as motivações do projeto TainacanDigitalização da cultura brasileira - as motivações do projeto Tainacan
Digitalização da cultura brasileira - as motivações do projeto Tainacan
 
Processos colaborativos de produção de ontologias - I Fórum Nacional de Sist...
Processos colaborativos de produção de ontologias  - I Fórum Nacional de Sist...Processos colaborativos de produção de ontologias  - I Fórum Nacional de Sist...
Processos colaborativos de produção de ontologias - I Fórum Nacional de Sist...
 
Do documento às ontologias: uma visão sobre sistemas de organização do conhec...
Do documento às ontologias: uma visão sobre sistemas de organização do conhec...Do documento às ontologias: uma visão sobre sistemas de organização do conhec...
Do documento às ontologias: uma visão sobre sistemas de organização do conhec...
 
Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...
Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...
Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...
 
Criança, mídia e consumo na formação de professores
Criança, mídia e consumo na formação de professoresCriança, mídia e consumo na formação de professores
Criança, mídia e consumo na formação de professores
 
Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...
Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...
Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...
 
In search of a model of human dynamics analysis applied to social sciences
In search of a model of human dynamics analysis applied to social sciencesIn search of a model of human dynamics analysis applied to social sciences
In search of a model of human dynamics analysis applied to social sciences
 
Novos caminhos da inclusão digital: experiências do projeto +Telecentros
Novos caminhos da inclusão digital: experiências do projeto +TelecentrosNovos caminhos da inclusão digital: experiências do projeto +Telecentros
Novos caminhos da inclusão digital: experiências do projeto +Telecentros
 
Aula 01 introdução e conceitos básicos sobre gestão
Aula 01   introdução e conceitos básicos sobre gestãoAula 01   introdução e conceitos básicos sobre gestão
Aula 01 introdução e conceitos básicos sobre gestão
 
Apresentação Semana de Humanização da Saúde: uma visão quantitativa
Apresentação Semana de Humanização da Saúde: uma visão quantitativaApresentação Semana de Humanização da Saúde: uma visão quantitativa
Apresentação Semana de Humanização da Saúde: uma visão quantitativa
 
Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...
Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...
Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...
 
Design da Informação - Aula 03 - Princípios do design de informação
Design da Informação - Aula 03 - Princípios do design de informaçãoDesign da Informação - Aula 03 - Princípios do design de informação
Design da Informação - Aula 03 - Princípios do design de informação
 
Aula 04 - Tópicos em Gestão da Informação Medidas de posição relativa
Aula 04 - Tópicos em Gestão da Informação Medidas de posição relativaAula 04 - Tópicos em Gestão da Informação Medidas de posição relativa
Aula 04 - Tópicos em Gestão da Informação Medidas de posição relativa
 
Aula 02 - Design da Informação - História e princípios do design de informação
Aula 02 - Design da Informação - História e princípios do design de informaçãoAula 02 - Design da Informação - História e princípios do design de informação
Aula 02 - Design da Informação - História e princípios do design de informação
 
Aula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrõesAula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrões
 
Aula 02 - Estatística da vida cotidiana
Aula 02 - Estatística da vida cotidianaAula 02 - Estatística da vida cotidiana
Aula 02 - Estatística da vida cotidiana
 
Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...
Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...
Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...
 

Último

PROVA FINAL Filosofia e Educação Cristã.ppt
PROVA FINAL Filosofia e Educação Cristã.pptPROVA FINAL Filosofia e Educação Cristã.ppt
PROVA FINAL Filosofia e Educação Cristã.ppt
betokg
 
A nossa mini semana 2706 2906 Juliana.pptx
A nossa mini semana 2706 2906 Juliana.pptxA nossa mini semana 2706 2906 Juliana.pptx
A nossa mini semana 2706 2906 Juliana.pptx
juserpa07
 
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdfiNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
andressacastro36
 
Projeto aLeR+ o Ambiente - Os animais são nossos amigos.pdf
Projeto aLeR+ o Ambiente - Os animais são nossos amigos.pdfProjeto aLeR+ o Ambiente - Os animais são nossos amigos.pdf
Projeto aLeR+ o Ambiente - Os animais são nossos amigos.pdf
Bibliotecas Infante D. Henrique
 
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdfAPOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
RenanSilva991968
 
Slides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptx
Slides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptxSlides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptx
Slides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdfCaderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
enpfilosofiaufu
 
Planejamento anual de Arte.docx-3° ano fundamental
Planejamento anual de Arte.docx-3° ano fundamentalPlanejamento anual de Arte.docx-3° ano fundamental
Planejamento anual de Arte.docx-3° ano fundamental
ericalara2620
 
DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...
DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...
DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...
IsabelPereira2010
 
História Do Assaré - Prof. Francisco Leite
História Do Assaré - Prof. Francisco LeiteHistória Do Assaré - Prof. Francisco Leite
História Do Assaré - Prof. Francisco Leite
profesfrancleite
 
Sequência Didática - Cordel para Ensino Fundamental I
Sequência Didática - Cordel para Ensino Fundamental ISequência Didática - Cordel para Ensino Fundamental I
Sequência Didática - Cordel para Ensino Fundamental I
Letras Mágicas
 
MÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptx
MÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptxMÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptx
MÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptx
Martin M Flynn
 
Caça-palavras - ortografia S, SS, X, C e Z
Caça-palavras - ortografia  S, SS, X, C e ZCaça-palavras - ortografia  S, SS, X, C e Z
Caça-palavras - ortografia S, SS, X, C e Z
Mary Alvarenga
 
"Está o lascivo e doce passarinho " de Luís Vaz de Camões
"Está o lascivo e   doce passarinho " de Luís Vaz de Camões"Está o lascivo e   doce passarinho " de Luís Vaz de Camões
"Está o lascivo e doce passarinho " de Luís Vaz de Camões
goncalopecurto
 
Fato X Opinião (Língua Portuguesa 9º Ano).pptx
Fato X Opinião (Língua Portuguesa 9º Ano).pptxFato X Opinião (Língua Portuguesa 9º Ano).pptx
Fato X Opinião (Língua Portuguesa 9º Ano).pptx
MariaFatima425285
 
HISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptx
HISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptxHISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptx
HISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptx
WALTERDECARVALHOBRAG
 
Roteiro para análise do Livro Didático .pptx
Roteiro para análise do Livro Didático .pptxRoteiro para análise do Livro Didático .pptx
Roteiro para análise do Livro Didático .pptx
pamellaaraujo10
 
Química orgânica e as funções organicas.pptx
Química orgânica e as funções organicas.pptxQuímica orgânica e as funções organicas.pptx
Química orgânica e as funções organicas.pptx
KeilianeOliveira3
 
O sentimento nacional brasiliero, segundo o historiador Jose Murlo de Carvalho
O sentimento nacional brasiliero, segundo o historiador Jose Murlo de CarvalhoO sentimento nacional brasiliero, segundo o historiador Jose Murlo de Carvalho
O sentimento nacional brasiliero, segundo o historiador Jose Murlo de Carvalho
analuisasesso
 
ptoposta curricular de geografia.da educação de jovens a e adultos
ptoposta curricular de geografia.da educação de jovens a e adultosptoposta curricular de geografia.da educação de jovens a e adultos
ptoposta curricular de geografia.da educação de jovens a e adultos
Escola Municipal Jesus Cristo
 

Último (20)

PROVA FINAL Filosofia e Educação Cristã.ppt
PROVA FINAL Filosofia e Educação Cristã.pptPROVA FINAL Filosofia e Educação Cristã.ppt
PROVA FINAL Filosofia e Educação Cristã.ppt
 
A nossa mini semana 2706 2906 Juliana.pptx
A nossa mini semana 2706 2906 Juliana.pptxA nossa mini semana 2706 2906 Juliana.pptx
A nossa mini semana 2706 2906 Juliana.pptx
 
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdfiNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
 
Projeto aLeR+ o Ambiente - Os animais são nossos amigos.pdf
Projeto aLeR+ o Ambiente - Os animais são nossos amigos.pdfProjeto aLeR+ o Ambiente - Os animais são nossos amigos.pdf
Projeto aLeR+ o Ambiente - Os animais são nossos amigos.pdf
 
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdfAPOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
 
Slides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptx
Slides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptxSlides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptx
Slides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptx
 
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdfCaderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
 
Planejamento anual de Arte.docx-3° ano fundamental
Planejamento anual de Arte.docx-3° ano fundamentalPlanejamento anual de Arte.docx-3° ano fundamental
Planejamento anual de Arte.docx-3° ano fundamental
 
DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...
DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...
DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...
 
História Do Assaré - Prof. Francisco Leite
História Do Assaré - Prof. Francisco LeiteHistória Do Assaré - Prof. Francisco Leite
História Do Assaré - Prof. Francisco Leite
 
Sequência Didática - Cordel para Ensino Fundamental I
Sequência Didática - Cordel para Ensino Fundamental ISequência Didática - Cordel para Ensino Fundamental I
Sequência Didática - Cordel para Ensino Fundamental I
 
MÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptx
MÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptxMÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptx
MÁRTIRES DE UGANDA Convertem-se ao Cristianismo - 1885-1887.pptx
 
Caça-palavras - ortografia S, SS, X, C e Z
Caça-palavras - ortografia  S, SS, X, C e ZCaça-palavras - ortografia  S, SS, X, C e Z
Caça-palavras - ortografia S, SS, X, C e Z
 
"Está o lascivo e doce passarinho " de Luís Vaz de Camões
"Está o lascivo e   doce passarinho " de Luís Vaz de Camões"Está o lascivo e   doce passarinho " de Luís Vaz de Camões
"Está o lascivo e doce passarinho " de Luís Vaz de Camões
 
Fato X Opinião (Língua Portuguesa 9º Ano).pptx
Fato X Opinião (Língua Portuguesa 9º Ano).pptxFato X Opinião (Língua Portuguesa 9º Ano).pptx
Fato X Opinião (Língua Portuguesa 9º Ano).pptx
 
HISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptx
HISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptxHISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptx
HISTÓRIA DO CEARÁ MOVIMENTOS REVOLUCIONARIOS NO CEARÁ.pptx
 
Roteiro para análise do Livro Didático .pptx
Roteiro para análise do Livro Didático .pptxRoteiro para análise do Livro Didático .pptx
Roteiro para análise do Livro Didático .pptx
 
Química orgânica e as funções organicas.pptx
Química orgânica e as funções organicas.pptxQuímica orgânica e as funções organicas.pptx
Química orgânica e as funções organicas.pptx
 
O sentimento nacional brasiliero, segundo o historiador Jose Murlo de Carvalho
O sentimento nacional brasiliero, segundo o historiador Jose Murlo de CarvalhoO sentimento nacional brasiliero, segundo o historiador Jose Murlo de Carvalho
O sentimento nacional brasiliero, segundo o historiador Jose Murlo de Carvalho
 
ptoposta curricular de geografia.da educação de jovens a e adultos
ptoposta curricular de geografia.da educação de jovens a e adultosptoposta curricular de geografia.da educação de jovens a e adultos
ptoposta curricular de geografia.da educação de jovens a e adultos
 

Aula 10 - Trabalhando com Templates - Programação Web

  • 1. Programação Web Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 10 – Trabalhando com Templates Dalton Martins dmartins@gmail.com São Paulo, Novembro, 2011 Aula baseada no tutorial: http://raelcunha.com/template.php
  • 2. Para que servem os Templates? Boas práticas de programação presumem que tenhamos nosso sistemas organizado em 3 camadas: – Camada de interface: o que é utilizado pelo usuário no acesso ao sistema; – Camada de lógica: onde fica a lógica do sistema, fluxos de informação, processos, cálculos, etc, – Camada de persistência de dados: onde são guardados os dados – Banco de Dados. Os templates servem para separar camada de interface e lógica!
  • 3. Para que servem os Templates? Na prática, teremos: – Arquivos HTML: contém toda a interface de relação com o usuário, objetos de interface, configuração visual, cores, fontes, blocos, menus, etc... – Arquivos PHP: irão incorporar os arquivos HTML, podendo configurar determinadas partes de sua exibição conforme suas necessidades expecíficas.
  • 4. Biblioteca de Template O PHP possui várias bibliotecas de templates para apoiar esse tipo de desenvolvimento. – Exemplos: smarty, phptemplate, zend, etc... No entanto, muitas são complexas e difíceis de utilizar, demandando tempo de estudo; Iremos utilizar uma biblioteca das mais simples, que no entanto atende aos requisitos para separação do sistema em camadas: – Baixar o arquivo e instalar no diretório do programa; – http://raelcunha.com/packages/extra/template/files/Templ ate_pt-br.zip
  • 5. Começando... Vamos gerar inicialmente dois arquivos: – Ola.php – Ola.html <?php <html> <body> require("Template.class.php"); Olá Mundo, com templates PHP! $tpl = new Template("ola.html"); </body> $tpl->show(); </html> ?>
  • 6. Configurando variáveis <?php <html> <body> require("Template.class.php"); Olá {FULANO}, com templates PHP! $tpl = new Template("ola.html"); $tpl->FULANO = "TESTE"; </body> $tpl->show(); </html> ?>
  • 7. Checando se variáveis existem <?php require("Template.class.php"); $tpl = new Template("layout.html"); // Checando existência da variável antes da atribuição if($tpl->exists("FULANO")) $tpl->FULANO = "TESTE"; $tpl->show(); ?>
  • 8. Trabalhando com blocos <html> <body> <p>Quantidade de produtos cadastrados no sistema:</p> <!-- BEGIN BLOCK_QUANTIDADE --> <div class="destaque">Existem {QUANTIDADE} produtos cadastrados.</div> <!-- END BLOCK_QUANTIDADE --> <!-- BEGIN BLOCK_VAZIO --> <div class="vazio">Não existe nenhum produto cadastrado.</div> <!-- END BLOCK_VAZIO --> </body> </html>
  • 9. Trabalhando com blocos <?php require("Template.class.php"); $tpl = new Template("hello.html"); // Vamos supor que esta quantidade veio do banco de dados $quantidade = 5; // Se existem produtos cadastrados, vamos exibir a quantidade if($quantidade > 0){ $tpl->QUANTIDADE = $quantidade; $tpl->block("BLOCK_QUANTIDADE"); } // Caso não exista nenhum produto, exibimos a mensagem de vazio else { $tpl->block("BLOCK_VAZIO"); } $tpl->show(); ?>
  • 10. Trabalhando com blocos e tabelas <html> <body> <p>Produtos cadastrados no sistema:</p> <table border=1> <tr><td>Nome</td><td>Quantidade</td></tr> <!-- BEGIN BLOCK_PRODUTO --> <tr> <td> {NOME} </td> <td> {QUANTIDADE} </td> </tr> <!-- END BLOCK_PRODUTO --> </table> </body> </html>
  • 11. Trabalhando com blocos e tabelas <?php require("Template.class.php"); $tpl = new Template("hello.html"); // Simulando produtos cadastrados no banco de dados $produtos = array( array("nome" => "Sabão em Pó", "quantidade" => 15), array("nome" => "Escova de Dente", "quantidade" => 53), array("nome" => "Creme Dental", "quantidade" => 37) ); // Listando os produtos foreach($produtos as $p){ $tpl->NOME = $p["nome"]; $tpl->QUANTIDADE = $p["quantidade"]; $tpl->block("BLOCK_PRODUTO"); } $tpl->show(); ?>
  • 12. Trabalhando com layouts <html> <body> <div id="layout" style="width:500px"> <div id="cabecalho" style="background-color:#FFA500;"> <h1 style="margin-bottom:0;">{TITULO}</h1></div> <div id="menu" style="background-color:#FFD700;height:400px;width:100px;float:left;"> <b>Menu</b><br /> <a href="{LINK1}">{OPCAO1}</a><br /> <a href="{LINK2}">{OPCAO2}</a><br /> {OPCAO3}</div> <div id="conteudo" style="background-color:#EEEEEE;height:400px;width:400px;float:left;"> <form action="exemplosimples.php" method="post"> <fieldset> <br> <legend>Informacoes pessoais:</legend> Nome: <input type="text" name="nome" size="30" /><br /> email: <input type="text" name="email" size="30" /><br /> Data de nascimento: <input name="data" type="text" size="10" /><br> <textarea rows="10" cols="30" name="areatexto"> Informacoes extras: </textarea> <br> <input type="submit" name = "enviar" value="Enviar" /> </fieldset> </form> </div> <div id="footer" style="background-color:#FFA500;clear:both;text-align:center;"> Copyleft FATEC Ipiranga</div> </div> </body> </html>
  • 13. Trabalhando com layouts <?php require("Template.class.php"); $tpl = new Template("layout.html"); $tpl->TITULO = "fatec ipiranga"; $tpl->OPCAO1 = "OPCAO MENU 1"; $tpl->LINK1 = "http://www.facebook.com"; $tpl->OPCAO2 = "OPCAO MENU 2"; $tpl->LINK2 = "http://www.google.com.br"; $tpl->show(); ?>