Modificando a saída de dados no Joomla!
sem alterar os arquivos do Core
                         Template Override

Nome      : Daniel Corrêa
Cidade    : Belo Horizonte
Joomla!   : Consultor, Desenvolvedor e Usuário
Web       : joomlaminas.org
Twitter   : @danielcorreaa



                                                 Joomla!Minas
Template Override, o que é?
É uma maneira de modificar a saída de dados
sem ter que alterar os arquivos originais, o Core
do Joomla!

O uso é importante porque a cada atualização de
versão do Joomla! não é preciso se preocupar em
refazer as alterações de saída de dados.




                                             Joomla!Minas
                                                    CMSBrasil 2009
Template Beez - com_content

                    Com Override
                      Sem Override




                                   Joomla!Minas
                                          CMSBrasil 2009
Onde posso aplicar?
Componentes e Módulos



Estrutura do Template Beez




                             Joomla!Minas
                                    CMSBrasil 2009
Template Beez - mod_poll
  Com Override    Sem Override




                                 Joomla!Minas
                                        CMSBrasil 2009
Quando posso utilizar?
Quando um componente ou módulo são escritos
na arquitetura MVC - Model, View, Controller.

M - Modelo da aplicação (propriedades e
atributos)

V - Visualização do que foi obtido pelo Controlador

C - Processa as requisições feitas pela interface


                                             Joomla!Minas
                                                    CMSBrasil 2009
Como é interpretado?
if (com_content existe em templates/cmsbrasil/html){
     Use os arquivos que estão lá
}else{
     Use os arquivos contidos em
     components/com_content/views
}




                                            Joomla!Minas
                                                   CMSBrasil 2009
Vantagens
Arquivos do Core intactos

Nada é modificado na atualização de versões

Personalização

Sou um CMS mas não sou igual a todos

No <table> Yes <div> - código limpo e correto


                                            Joomla!Minas
                                                   CMSBrasil 2009
Estrutura Padrão de um Template
 cmsbrasil
                                .......


                 images
                                .......
                                .......
                                .......
                                          background.png
                                .......
                                .......

                    css
                                .......
                                .......
                                          template.css
       .......
       .......
       .......
       .......
                  index.php
       .......
       .......
       .......
       .......
                  index.html
       .......
       .......
       .......
       .......
                  templateDetails.xml
       .......
       .......
       .......
       .......
                  template_thumbnail.png
       .......
       .......
       .......
       .......
                  favicon.ico




                                                           Joomla!Minas
                                                                  CMSBrasil 2009
Estrutura do Template com Override
 cmsbrasil
                                .......


                 images
                                .......
                                .......
                                .......
                                          background.png
                                .......
                                .......

                    css
                                .......
                                .......
                                          template.css

                                                         html
       .......
       .......
       .......
       .......
                  index.php                                          com_content
       .......
       .......
       .......
       .......
                  index.html                                          mod_login
                                                           .......
       .......                                             .......
       .......
       .......    templateDetails.xml                      .......
                                                           .......
                                                                      modules.php
       .......



       .......
       .......
       .......
       .......
                  template_thumbnail.png
       .......
       .......
       .......
       .......
                  favicon.ico



                                                                                    Joomla!Minas
                                                                                           CMSBrasil 2009
Estrutura do Override
  html


              com_content
                                                      .......


                               article
                                                      .......
                                                      .......
                                                      .......
                                                                default.php
                                                      .......
                                                      .......
                                                      .......
                                                      .......
                                                                form.php
                                                      .......


                            frontpage
                                                      .......
                                                      .......
                                                      .......
                                                                default.php
                                                      .......
                                                      .......
                                                      .......
                                                      .......
                                                                default_item.php
                                                      .......
                                                      .......
                                                      .......
                                                      .......
                                                                default_links.php
                                  .......


               mod_login
                                  .......
                                  .......
                                  .......
                                            default.php

    .......
    .......
    .......
    .......
               modules.php


                                                                                    Joomla!Minas
                                                                                           CMSBrasil 2009
De onde são os arquivos da estrutura?
componentscom_contentviewsarticletmpl

templatescmsbrasilhtmlcom_contentarticle


componentscom_contentviewsfrontpagetmpl

templatescmsbrasilhtmlcom_contentfrontpage



                                               Joomla!Minas
                                                      CMSBrasil 2009
Exemplo com_content
Com Override
<?php if ($this->params->get('show_create_date')) : ?> <span class="createdate">
  <?php echo JHTML::_('date', $this->article->created, JText::_('DATE_FORMAT_LC2')); ?>
</span><?php endif; ?>



Sem Override
<?php if ($this->params->get('show_create_date')) : ?> <tr>
  <td valign="top" colspan="2" class="createdate">
    <?php echo JHTML::_('date', $this->article->created, JText::_('DATE_FORMAT_LC2')) ?>
  </td>
</tr> <?php endif; ?>


                                                                Joomla!Minas
                                                                       CMSBrasil 2009
Exemplos de sites
FACE - http://www.face.ufmg.br/new
Página de busca - com_search

BLOG do RONILDO - http://www.ronildo.com.br
Sistema de paginação - pagination.php

JOOMLA!MINAS - http://www.joomlaminas.org
Conteúdo - com_content
Página de busca - com_search
Sistema de paginação - pagination.php

                                        Joomla!Minas
                                               CMSBrasil 2009
Liberdade para os Designers
?
Joomla!, um CMS para todos.

Template Override

  • 1.
    Modificando a saídade dados no Joomla! sem alterar os arquivos do Core Template Override Nome : Daniel Corrêa Cidade : Belo Horizonte Joomla! : Consultor, Desenvolvedor e Usuário Web : joomlaminas.org Twitter : @danielcorreaa Joomla!Minas
  • 2.
    Template Override, oque é? É uma maneira de modificar a saída de dados sem ter que alterar os arquivos originais, o Core do Joomla! O uso é importante porque a cada atualização de versão do Joomla! não é preciso se preocupar em refazer as alterações de saída de dados. Joomla!Minas CMSBrasil 2009
  • 3.
    Template Beez -com_content Com Override Sem Override Joomla!Minas CMSBrasil 2009
  • 4.
    Onde posso aplicar? Componentese Módulos Estrutura do Template Beez Joomla!Minas CMSBrasil 2009
  • 5.
    Template Beez -mod_poll Com Override Sem Override Joomla!Minas CMSBrasil 2009
  • 6.
    Quando posso utilizar? Quandoum componente ou módulo são escritos na arquitetura MVC - Model, View, Controller. M - Modelo da aplicação (propriedades e atributos) V - Visualização do que foi obtido pelo Controlador C - Processa as requisições feitas pela interface Joomla!Minas CMSBrasil 2009
  • 7.
    Como é interpretado? if(com_content existe em templates/cmsbrasil/html){ Use os arquivos que estão lá }else{ Use os arquivos contidos em components/com_content/views } Joomla!Minas CMSBrasil 2009
  • 8.
    Vantagens Arquivos do Coreintactos Nada é modificado na atualização de versões Personalização Sou um CMS mas não sou igual a todos No <table> Yes <div> - código limpo e correto Joomla!Minas CMSBrasil 2009
  • 9.
    Estrutura Padrão deum Template cmsbrasil ....... images ....... ....... ....... background.png ....... ....... css ....... ....... template.css ....... ....... ....... ....... index.php ....... ....... ....... ....... index.html ....... ....... ....... ....... templateDetails.xml ....... ....... ....... ....... template_thumbnail.png ....... ....... ....... ....... favicon.ico Joomla!Minas CMSBrasil 2009
  • 10.
    Estrutura do Templatecom Override cmsbrasil ....... images ....... ....... ....... background.png ....... ....... css ....... ....... template.css html ....... ....... ....... ....... index.php com_content ....... ....... ....... ....... index.html mod_login ....... ....... ....... ....... ....... templateDetails.xml ....... ....... modules.php ....... ....... ....... ....... ....... template_thumbnail.png ....... ....... ....... ....... favicon.ico Joomla!Minas CMSBrasil 2009
  • 11.
    Estrutura do Override html com_content ....... article ....... ....... ....... default.php ....... ....... ....... ....... form.php ....... frontpage ....... ....... ....... default.php ....... ....... ....... ....... default_item.php ....... ....... ....... ....... default_links.php ....... mod_login ....... ....... ....... default.php ....... ....... ....... ....... modules.php Joomla!Minas CMSBrasil 2009
  • 12.
    De onde sãoos arquivos da estrutura? componentscom_contentviewsarticletmpl templatescmsbrasilhtmlcom_contentarticle componentscom_contentviewsfrontpagetmpl templatescmsbrasilhtmlcom_contentfrontpage Joomla!Minas CMSBrasil 2009
  • 13.
    Exemplo com_content Com Override <?phpif ($this->params->get('show_create_date')) : ?> <span class="createdate"> <?php echo JHTML::_('date', $this->article->created, JText::_('DATE_FORMAT_LC2')); ?> </span><?php endif; ?> Sem Override <?php if ($this->params->get('show_create_date')) : ?> <tr> <td valign="top" colspan="2" class="createdate"> <?php echo JHTML::_('date', $this->article->created, JText::_('DATE_FORMAT_LC2')) ?> </td> </tr> <?php endif; ?> Joomla!Minas CMSBrasil 2009
  • 14.
    Exemplos de sites FACE- http://www.face.ufmg.br/new Página de busca - com_search BLOG do RONILDO - http://www.ronildo.com.br Sistema de paginação - pagination.php JOOMLA!MINAS - http://www.joomlaminas.org Conteúdo - com_content Página de busca - com_search Sistema de paginação - pagination.php Joomla!Minas CMSBrasil 2009
  • 15.
  • 16.
    ? Joomla!, um CMSpara todos.