A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Tutoriais e Programação

Joomla para Iniciantes - Templates

Ter

6

Jan

2009


00:00

(37 votos, média 4.62 de 5) 


O arquivo index.php

Este é o arquivo mais importante de um template. É ele que informa ao Joomla onde colocar os diferentes componentes e módulos da página. Este arquivo é uma combinação de PHP e (X)HTML.

Antes de mais nada, vamos dar uma olhada em DOCTYPE por que esta é uma parte crítica para se criar templates válidos. Esta parte precisa estar logo no início do arquivo index.php:

As três primeiras linhas são apenas para se assegurar que este arquivo está sendo acessado através do Joomla - é uma questão de segurança. A linha seguinte eu sei que parece coisa de maluco, e na verdade é mesmo. Foi feita por geeks para ser entendida apenas por geeks, mas nem por isto vamos desistir :smile:

O DOCTYPE de uma página web é um dos componentes fundamentais do modo como a página é mostrada pelo browser - mais especificamente, como este browser interpreta CSS. É muita areia pro seu caminhãozinho? Então esquece este papo de maluco e acredite em mim: coloque esta linha de código e esqueça o resto; deixe de colocar e prepare-se para surpresas desagradáveis relacionadas ao IE (ele é o culpado desta história porque a Microsoft insiste em criar padrões nem sempre aceitos e a fugir dos padrões já estabelecidos, motivo pelo qual uso qualquer outro navegador, contanto que não seja o IE).

Logo depois desta declaração complicada, vem uma declaração XML, outra insanidade que também não vale a pena discutir agora (se a maioria prefere o IE, quem sou eu para discordar?):

Bão, chega de sandice e vamos ao cabeçalho do nosso arquivo index.php que começa na linha 6 e termina na linha 11:

Basicamente, o que fizemos foi usar uma declaração jdoc:include (que faz parte do conjunto de declarações do sistema de templates do Joomla) e criar três links para arquivos CSS. Existem diversas declarações jdoc:include, mas na área do cabeçalho a única que nos interessa é a do tipo head. Quando o Joomla encontra este tipo de declaração, substitui a linha <jdoc:include type="head" /> por uma porção de marcadores HTML definidos no sistema. Nesta página, se você der uma olhada no código fonte, vai encontrar o seguinte:

Joomla para Iniciantes - Templates

:blush: Taí um segredo: o jdoc:include do tipo head é coisa de preguiçoso. Ao invés de escrever uma porção de linhas de cabeçalho como as mostradas acima, chamei um jdoc:include tipo head e deixei isto por conta do sistema de templates do Joomla.

Quanto à inclusão de arquivos CSS, que vêm logo depois do jdoc "dos preguiçosos", tenho duas observações a fazer. As duas primeiras inclusões são padrão porque os arquivos system.css e general.css contêm estilos genéricos do Joomla. A terceira é apenas a inclusão do arquivo CSS do nosso template. Neste caso podemos indicar o caminho para este arquivo com <link rel="stylesheet" href="/templates/meuTemplate/css/template.css" type="text/css" /> (ou qualquer outro diretório e/ou nome de arquivo que você tenha criado) ou deixar que o próprio Joomla encontre o caminho correto com <link rel="stylesheet" href="/templates/<?php echo $this->template ?>/css/template.css" type="text/css" />.

Você lembra que no arquivo templatesDetails.xml criamos um parâmetro chamado "cor" cuja descrição era "Cor de fundo do template"? Pois bem, digamos que criamos arquivos CSS especiais para atender este parâmetro, o azul.css e o vermelho.css. Se quisermos que este parâmetro seja levado em consideração, podemos adicionar mais uma linha para incluir o arquivo de estilo que corresponda ao valor do parâmetro:

...

Bem, por enquanto isto é tudo o que tenho a dizer sobre o cabeçalho. Como nem só de cabeçalho "vive" uma página, vamos ter que criar o corpo (body). É aqui que entra o exemplo do "template pelado", ou seja, o mínimo que podemos fazer para colocar algum conteúdo nas páginas que usarem este template:

... getCfg('sitename');?>

Para inserir um módulo numa determinada posição, usa-se a declaração jdoc:include type="module" seguida pelo nome do módulo. Para inserir todos os módulos que foram designados para ocuparem uma área nominada (como top, left, right, etc), existe a declaração jdoc:include type"modules" seguida do nome da área. Para incluir um componente, usa-se a declaração jdoc:include type="component".

Informações adicionais