Escolar Documentos
Profissional Documentos
Cultura Documentos
org
2. Criação de Conteúdo . . . . . 13
Criando seções
Criando categorias
Criando conteúdo
Editando módulos
Componentes Padrões
3. Configurando o site. . . . . . 23
Banco de Dados
Meta dados
Estatísticas/SEO
Conteúdo(visualizações de ícones e listagens)
4. Componentes . . . . . . 27
O que são?
Usando os componentes padrões
Instalação de componente
Criação de componentes
Estrutura de diretórios
Estrutura de arquivos
XML de instalação
5. Administração de usuários . . . . . 40
Controle de Níveis de Acesso
6. Módulos . . . . . . . 42
O que é?
Instalação
Como criar modulo pelo Joomla
Criação de Módulos
Estrutura de arquivos
XML de instalação
7. Mambot/Plugin . . . . . . 47
O que é?
Instalação
Criação de Mambot
Estrutura de arquivos
XML de instalação
8. Templates . . . . . . . 51
Posições de template
Editando um template
Instalando um template
Criação de Template
Estrutura de arquivos
XML de instalação
Página 1/58
Curso de Joomla 1.5 – http://ribafs.org
1. Introdução ao Joomla
Conceito de CMS
Segundo a Wikipédia (http://pt.wikipedia.org/wiki/Sistema_de_gerenciamento_de_conteúdo):
Um Sistema de Gestão de Conteúdo - SGC, (em inglês Content Management Systems - CMS), é um
sistema gestor de websites, portais e intranets que integra ferramentas necessárias para criar, gerir (editar e
inserir) conteúdos em tempo real, sem a necessidade de programação de código, cujo objetivo é estruturar
e facilitar a criação, administração, distribuição, publicação e disponibilidade da informação. A sua maior
característica é a grande quantidade de funções presentes.
Podemos dizer que um CMS é um framework, “um esqueleto” de website pré-programado, com
recursos básicos e de manutenção e administração já prontamente disponíveis. É um sistema que
permite a criação, armazenamento e administração de conteúdos de forma dinâmica, através de uma
interface de utilizador via Internet. Um CMS permite que a empresa tenha total autonomia sobre o
conteúdo e evolução da sua presença na internet e dispense a assistência de terceiros ou empresas
especializadas para manutenções de rotina. Nem mesmo é preciso um funcionário dedicado
(webmaster), pois cada membro da equipe poderá gerir o seu próprio conteúdo, diminuindo os
custos com recursos humanos. A habilidade necessária para trabalhar com um sistema de gestão de
conteúdo não vai muito além dos conhecimentos necessários para um editor de texto.
A aparência de um website criado com um CMS é customizável, através da utilização de templates
que podem ser facilmente substituídos.
Em suma, o grande diferencial de um CMS é permitir que o conteúdo de um website possa ser
modificado de forma rápida e segura de qualquer computador conectado à Internet. Um sistema de
gestão de conteúdo reduz custos e ajuda a suplantar barreiras potenciais à comunicação web
reduzindo o custo da criação, contribuição e manutenção de conteúdo.
Um grande exemplo de CMS é o Joomla!, onde é facilmente realizada a edição de conteúdos, a
partir do próprio site, podendo também ser usado para o gerenciamentos de intranet.
Aqui uma lista de CMS:
http://pt.wikipedia.org/wiki/Categoria:Sistemas_de_gest%C3%A3o_de_conte%C3%BAdo
História do Joomla
O Joomla nasceu de um outro CMS, o Mambo, que também era um CMS bastante premiado.
Página 2/58
Curso de Joomla 1.5 – http://ribafs.org
Página 3/58
Curso de Joomla 1.5 – http://ribafs.org
Instalação
Pré-requisitos
MS IIS 7 6 http://www.iis.net
mod_mysql
mod_xml
mod_zlib
Precisa se certificar de tem as funcionalidades MySQL, XML e Zlib habilitadas na instalação do PHP. Pode
ser constatado no php.ini.
Não use as versões 4.3.9, 4.4.2 ou 5.0.4 do PHP, pois eles têm bugs conhecidos.
Os melhores e mais consistentes resultados são obtidos com versões da série 5.x.
O Joomla foi testado em muitas variantes dos três principais sistemas operacionais: Windows, Linux e Apple
Mac OSX. Também deve funcionar em outras plataformas mas ainda é pouco documentado.
Testado nos principais navegadores: IE6 +, Firefox 1.5 +, Safari e Opera mas deve também funcionar em
outros.
Página 4/58
Curso de Joomla 1.5 – http://ribafs.org
Ferramentas
U uso de boas ferramentas geram uma grande diferença entre profissionais de qualquer área e também
entre o mesmo profissional com e sem ferramentas.
Um exemplo simples:
Crie um grande portal para a web partindo do zero, digitando cada linha de código, com bons recursos,
como forms de login e contato, enquetes, facilidades de administração e etc.
Depois crie um portal semelhante usando um CMS como o Joomla.
Encontraremos grandes diferenças de tempo de conclusão, de qualidade, de segurança, etc.
Agora um exmeplo simples: tente extrair um prego de uma madeira rígida com a mão. Se usar um martelo
apropriado conseguirá com mais rapidez e eficiência.
A ferramenta faz a diferença. Mas não basta ter a ferramenta, precisamos conhecê-la bem para que ela nos
ajude.
Algumas boas ferramentas de programação eistem para os principais sistemas operacionais, como é o caso
do Eclipse e do NetBeans.
Como neste curso precisaremos programar, usar a linha de código eu sugiro as minhas ferramentas
preferidas para trabalhar com PHP (o que não significa que são as melhores, você é quem deve eleger as
suas preferidas). Experimente estas, procure por outras e escolha as suas.
gEdit
bons recursos. Não é completo mas é ágil e ajuda muito. Acompanhas as pricipais distribuições.
Também com muitos recursos. Esta compete com os recursos da anterior. Difícil dizer qual é a melhor.
Acredito que a decisão ocorrerá por gostos pessoais.
Página 5/58
Curso de Joomla 1.5 – http://ribafs.org
Obs.: Lembrando que para programar para Joomla 1.5 precisamos de um editor com suporte a UTF-8.
Também vale lembrar que ao criar extensões é bom ter um ambiente de testes para experimentá-las, sob
pena de causar problemas ao site em produção.
Ambiente
Para trabalhar com Joomla precisamos daqueles pré-requisitos citados: Apache, PHP e MySQL além de
mais alguns.
Para quem pretende testar no Windows, Linux e ainda outros sistemas operacionais, uma boa solução é
utilizar o pacote que traz tudo isso e ainda mais algumas coisas, que é o Xampp (http://xampp.sf.net).
Para quem utiliza Linux, recomenda-se instalar através dos pacotes da distribuição ou ainda dos fontes.
Para quem usa Linux Ubuntu ou outro oriundo do Debian aqui encontra um tutorial detalhado de como
proceder:
http://ribafs.org/portal/colaboracoes/1-ribamar-fs/82-instalar-apache-php-mysql-e-postgresql-no-ubuntu
O Xampp é um pacote instalador que traz Apache, PHP, MySQL, phpMyAdmin e vários outros já
preconfigurados, Apache suportando PHP, PHP suportando MySQL e PostgreSQL.
Por conta disso é muito indicado para testes locais e para quem está iniciando no mundo Web.
Download
Apenas faça o download aqui:
http://xampp.sf.net
Role novamente a tela e clique em Xampp Lite na seção Downloads ou clique em:
http://www.apachefriends.org/en/xampp-windows.html#646
Então clique em EXE (7-zip) e faça o download do arquivo, que hoje é este:
xampplite-win32-1.6.8.exe
Instalação
Após o download copie para o C:\
Página 6/58
Curso de Joomla 1.5 – http://ribafs.org
Configurações
setup_xampp.bat
Após a instalação abra a pasta c:\xampplite e execute com um duplo clique o arquivo setup_xampp.bat,
somente uma vez.
Dica: sempre que mudar o xampplite para outra pasta ou que mudar de pasta execute este arquivo para que
as configurações sejam atualizadas.
xampp-control.exe
Agora execute o arquivo xampp-control.exe para iniciar os serviços apache e mysql.
Em Modules clique em Svc à esquerda de Apache e em Svc à esquerda de MySQL.
Dica: caso tenha algum firewall ativo faça com que ele permita a execução dos serviços.
Agora clique em start para o Apache e para o MySQL e pode fechar a janelinha do painel. Observe que fica
um botão na barra de tarefas que pode ser aberto a qualquer momento.
Testando
Estamos prontos para trabalhar com PHP e MySQL.
Abra o navegador com o endereço:
http://localhost
e selecione Português (Brasil) como idioma. Essa é a interface web do Xampp.
Download
http://xampp.sf.net
Descompactar
Acesse o diretório onde fez o download e execute:
sudo tar zxpvf xampp.xxx.tar.gz -C /opt
Configurações
Para ambientes de teste é incômodo ficar tendo que usar o sudo para alterar as permissões, visto que o
usuário comum não tem permissão para escrever em /opt/lampp/htdocs. Então é confortável alterar o
documentRoot para o diretório do usuário, portanto criaremos o diretório /home/ribafs/htdocs:
Copiar o htdocs:
sudo cp -ra /opt/lampp/htdocs/* /home/ribafs/htdocs
Restartando
sudo /opt/lampp/lampp start
Página 7/58
Curso de Joomla 1.5 – http://ribafs.org
Testando
Abra o navegador em:
http://localhost
Projeto
Uma prudente recomendação é a de antes de arregaçar as mangas para a criação do site ou portal, antes
sentarmos e realizar um planejamento do que iremos fazer. Com uma bos descrição, falando dos detalhes.
Devemos iniciar o projeto antes de iniciar qualquer etapa de construção do portal.
No caso de um portal em Joomla é importante enumerar:
– seções
– categorias
– artigos
– menus
O projeto deve levar em conta a hospedagem onde irá ficar o portal, quais os recursos e flexibidades
existentes e se de fato suporta bem o Joomla na versão atual; o domínio ou subdomínio que irá usar; o
preço final de elaboração do portal (se for ocaso) e as condições de pagamento; assim como o prazo
estimado de conclusão.
Muitos outros cuidados que cada projeto pode exigir e que devemos ficar atentos.
Ao final desse trabalho é muito útil criar uma relação resumida das atividades e criar um diagrama (o
OpenOffice Draw é uma boa alternativa) com as seções, categorias, artigos e menus e outros detalhes para
que isso sirva de bússola durante a criação do portal.
Também vale lembrar que devemos criar ou usar uma logomarca existente e lembrar de encaixar bem no
template.
Para isso uma boa ou várias conversas com o cliente que nos contratou é vital. Coleta de informações,
visitas a sites existentes, documentos escritos, etc.
Conteúdo do Site
Ao preparar o conteúdo do site devemos nos preocupar com sua coerência e devemos selecionar
criteriosamente as palavras dos textos dos links.
Página 8/58
Curso de Joomla 1.5 – http://ribafs.org
Instalação
Instalação do Joomla 1.5
A versão que usaremos é a 1.5.8. Lembrando que o Joomla da série 1.5 não é inteiramente compatível com
o da série 1.0.
Quando houver alguma diferença entre a instalação local e no servidor essa diferença será explicada.
Para a instalação Local no Windows utilizaremos como ambiente o Xampp.
Para a instalação Local no Linux utilizaremos como ambiente os pacotes da distribuição Ubuntu do Linux,
do Apache, PHP, MySQL e phpMyAdmin. Veja detalhes nesse tutorial:
http://www.ribafs.net/joomla/index.php?option=com_content&task=view&id=82&Itemid=85
Download
Faça o download no formato zip daqui:
http://www.joomla.org/download.html
Sugerindo que entre seu e-mail na caixa para receber avisos das atualizações de segurança.
Para quem vai trabalhar com Joomla é fortemente recomendado.
Caso não possa fazer o download no formato zip por algum motivo clique no link:
Download other Joomla 1.5.x packages »
http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&frs_package_id=4136
Ao final da tela está a versão full atual em três formatos (lembre que o mais compactado é o tar.bz2).
Caso use um servidor de hospedagem evite usar o Fastastico, pois não traz as últimas versões.
Página 9/58
Curso de Joomla 1.5 – http://ribafs.org
Instalação
1) Crie um diretório (dentro do htdocs) para abrigar o joomla: joomla, portal, meuportal, ou o que achar
melhor. Vou usar apenas “joomla”.
2) Apenas descompacte no documentRoot do Apache, que no caso do Xampp é o htdocs, no caso: .../
htdocs/joomla
3) Chame no navegador http://localhost/joomla
4) Lembre que para uma instalação local, instalação de testes, geralmente usamos o superusuário do
MySQL para a instalação. Nestes casos não precisamos criar antes o banco de dados, pois ele tem
privilégios para criar e o Joomla usará esses privilégios para criar ele próprio o banco. No caso da
instalação em um servidor de hospedagem temos que antes criar o banco, pois o usuário não tem
privilégios de criar banco.
5) Após chamar http://localhost/joomla aparece a primeira tela: Selecione o idioma. Nesta tela o nosso
idioma geralmente já vem selecionado corretamente. Caso contrário selecione o idioma e clique em
Próximo.
6) Tela de checagem de pré-requisitos: Verificação de pré-instalação. Veja melhor os detalhes da tela
a seguir:
Observe que existem dois grupos de informações, um acima e outro abaixo. O primeiro grupo é de
requisitos obrigatórios, que sem eles o Joomla não funcionará corretamente. O grupo inferior é de
configurações recomendadas. Sua ausência poderá fazer falta, acarretando comportamento inesperado.
Obs.: Isso geralmente só ocorre em ambientes Linux, já que em Windows os arquivos permitem escrita por
padrão.
No segundo grupo também aparece um alerta vermelho: A diretiva exibir erros idealmente deve estar
desativada e no meu sistema está ativada. Mas esta pode passar sem grandes prejuízos.
Caso queira desativar edite o php.ini e altere
display_errors = On
Para display_errors = Off
Página 10/58
Curso de Joomla 1.5 – http://ribafs.org
7) Tela da Licença. Fala da licença do Joomla, que no caso é a GNU/GPL em sua versão 2 e traz todo
o texto da licença. Apenas clique em Próximo.
8) Esta é talvez a tela mais importante, aquela que causa mais problemas, especialmente quando
instalando no servidor.
Página 11/58
Curso de Joomla 1.5 – http://ribafs.org
Configurações Avançadas
Somente devem ser usadas quando em uma reinstalação do Joomla ou quando instalando em um webhost
que só te oferece um banco ou poucos e você precisa fazer várias instalações em apenas um banco.
Nestes casos você os diferencia com prefixos para as tabelas. Exemplos de prefixos:
portal1_
portal2_
Alerta: Nunca use o prefixo “bak_”, pois o mesmo é utilizado internamente pelo Joomla. Sempre utilize o
sublinhado logo após o prefixo. O default é “jos_”.
Página 12/58
Curso de Joomla 1.5 – http://ribafs.org
Ou seja, praticamente limpa. Isso é bom para reforçar a forma como o Joomla trabalha, como também
economizaremos trabalho. Caso instalemos conteúdo de exemplo deveremos removê-lo depois e isso dará
trabalho.
Toda a estrutura do site está aí, o que está faltando é conteúdo. Quando adicionarmos conteúdo e os links
para os mesmos ele será exibido e encherá o site. O template funciona como uma moldura vazia que será
preenchida pelo conteúdo. Observe que tudo gira em torno da index.php do template.
Vamos a ele. Instalamos o Joomla, agora vamos configurá-lo e então adicionar conteúdo.
Página 13/58
Curso de Joomla 1.5 – http://ribafs.org
2. Criação de Conteúdo
Criando seções
Criando categorias
Criando artigos
Por padrão as seções não tem suas descrições exibidas. Para exibir devemos abrir o item
de menu relacionado e alterar a própriedade respectiva.
Logo ao entrar na seção de administração encontramos um botão para criar uma nova
seção. Também podemos acessar pelo menu Conteúdo – Administrar Seção.
Após clicar vemos a janela com as seções existentes e botões para gerenciar. Ao clicar no
botão Novo aaprece a janela do editor para entrar com os dados da seção, como abaixo:
Devemos entrar o título da seção (o apelido é opcional, assim como a imagem). E clicar no botão Salvar.
Página 14/58
Curso de Joomla 1.5 – http://ribafs.org
Categorias – elas são complementares das seções para a organização do conteúdo. Um exemplo: temos
um site onde iremos receber colaborações de autores, onde cada autor escreverá seus artigos. Uma boa
forma de ter isso bem organizado é assim:
seção – artigos
categorias – autor1, autor2, autor3, etc.
Quanto aos artigos, quando forem criados serão colocados sempre na seção artigos e na categoria do
respectivo autor.
E apenas entre com o nome da categoria (Título) e escolha sua seção. Não podemos
criar categoria sem seção.
Artigos – Estes de fato são o conteúdo do site, contendo texto, imagens, áudio, vídeo, etc. Geralmente
entramos o conteúdo através do amigável editor, que tanto pode ser pelo site (frontend) quando pela
administração (backend).
Veja que temos dois botões para Artigos: um para um Novo e o outro para gerenciar, como também pelo
menu Conteúdo.
Página 15/58
Curso de Joomla 1.5 – http://ribafs.org
Quebra de Página
Um bom recurso para artigos é a Quebra de páginas. O Joomla cria um índice com os nomes dados às
páginas quebradas.
Página inicial – Este é um item importante do site, pois com ele podemos dizer que um artigo será
automaticamente aberto sempre na página inicial.
Organizando o conteúdo
- Artigo1
- Artigo2
Menu1 – Seção1 - Categoria1 - Artigo3
- Categoria2
- Categoria 3
Categorias não podem existir sem uma seção, mas artigos podem existir sem uma categoria nem uma
seção (Não categorizado, somente no Joomla 1.5).
– Título
– Apelido (opcional, herdado do 1.0)
– Seção
– Categoria
– Publicado
– Página inicial
Estas imagens acima devem ser inseridas através do midia manager ou de outra forma, como FTP
NinjaXplorer, cPanel, etc.
Página 16/58
Curso de Joomla 1.5 – http://ribafs.org
Artigo Default
Menus
Cada menu é exibido por um módulo.
Criar na ordem:
– seções
– categorias
– artigos
– itens de menu (Itens de menu podem ser linkados para uma seção, categoria, artigo ou ainda várias
outras opções).
Evite alterar o estilo do texto manualmente. Deixe isso por conta do CSS do template.
O title e o alias de um artigo não obrigatoriamente são iguais, podem ser diferentes. O alias no Joomla 1.5 é
opcional, ficando sem os acentos e os espaços e tudo em minúsculas.
Alerta
Ao escrever um artigo, crie offline num editor HTML, como o kompozer (http://kompozer.net) e só quando
finalizar abra o Joomla e cole o conteúdo. Acontece muito de o timeout expirar ou haver uma queda de
energia ou outro problema e perdermos tudo que digitamos. Podemos aumentar o timeout mas em termos
de segurança não é recomendado.
Página 17/58
Curso de Joomla 1.5 – http://ribafs.org
Editores
Tratamento de Imagens
Antes de inserir imagens no editor, edite a imagem e deixe com um tamanho razoável para que não seja
rejeitado pelo editor ou caso esteja usando galerias de imagens. Podemos usar qualquer editor de imagns
para o tratamento mas o Gimp, um software livre oferece muitos recursos.
Propriedades da Imagem
– Estando no editor
– clique na imagem para selecioná-la
– clique em Inserir/Editar
Podemos configurar o gerenciador de mensagens para nos enviar essas mensagens por e-mail:
Editando módulos
Os módulos são extensões do Joomla destinados a exibir conteúdo em uma área do Joomla nas
margens da página. Sua posição é determinada pelo template. Módulos complementam o conteúdo
contido em um componente. Não são destinados a ser a parte principal de uma página.
Ao contrário dos componentes, qualquer número de módulos pode aparecer em uma página. O
controle do módulo no backand é bem restrito, geralmente voltado para a formatação do conteúdo.
São as extensões mais simples, por isso começaremos com eles.
Página 18/58
Curso de Joomla 1.5 – http://ribafs.org
Aqui podemos publicar (permitir exibir no site) e despublicar apenas com um clique no tick verde ou no
círculo vermelho na respectiva linha do nome do módulo. Acima vemos 3 módulos despublicados (círculo
vermelho) e os demais estão publicados (tick verde).
Também podemos alterar a ordem em que eles aparecem e temos muitas outras informações aqui.
Vale lembrar que quando temos mais de 20 módulos eles ficam em páginas separadas. Podemos alterar
este número escolhendo a opção na caixa exibir.
Página 19/58
Curso de Joomla 1.5 – http://ribafs.org
Atribuir Menu – Podemos selecionar em quais seções este form irá aparecer: em uma, várias ou todas.
Para selecionar uma basta clicar.
Para selecionar algumas, clique na primeira, prenda a tecla Ctrl e clique nas demais.
Temos botões para todas, nenhuma e Selecione. Para algumas clique em Selecione.
Temos várias outras propriedades. Algumas, como os metadados veremos mais a frente.
Acompanham uma instalação padrão do Joomla, versão 1.5.14, 25 módulos, entre eles:
– Newsflash (que exibe uma notícia a cada visita ou refresh)
– Latest News (mostra as últimas notícias)
– Popular (mostra as notícias mais visitadas)
– Top menu (exibe o menu do topo)
– Search (exibe o componente de busca do site)
– Breadcrumbs (mostra o caminho completo da seção onde o usuário está)
Página 20/58
Curso de Joomla 1.5 – http://ribafs.org
Criar Dois Módulos Úteis usando os novos módulos internos do Joomla 1.5
Este dois módulos foram uma idéia útil passada em uma dica do colega Pedro Pisandelli na lista
joomlaceara (http://groups.google.com.br/group/joomlaceara).
Criaremos um módulo para a administração que conterá o projeto do site. Este módulo exibirá o projeto para
que possamos acompanhá-lo até sua conclusão.
Posição – cpanel
E Salvar
Este é outro pequeno módulo para a área administrativa e conterá apenas um link para o Painel de Controle
na região do menu.
Como o painel de controle não está disponível com um único link, criei mais para me acostumar com a
criação de módulos administrativos e também é de alguma utilidade.
Conteúdo (abaixo no editor) – digite CPanel , selecione CPanel e clique nas argolas para inserir um link
para o arquivo “index.php”.
Posição – menu
Componentes Padrões
Componentes são mini-aplicativos que rodam dentro do portal Joomla. Geralmente eles têm uma
área sofisticada na seção de administração para manipulação do banco de dados.
Um componente pode trazer para o site em Joomla qualquer funcionalidade criada em PHP.
Página 21/58
Curso de Joomla 1.5 – http://ribafs.org
Componentes geralmente são grandes extensões. Eles ocupam a principal área do conteúdo da
página. Quando criamos artigos usamos o componente principal para exibi-los.
Em uma instalação padrão do Joomla, com conteúdo, temos seis componentes mais o responsável pela
página inicial:
– Banner
– Contatos
– Fonte de notícias
– Enquete
– Pesquisa
– WebLinks
Existe grande integração entre componentes e módulos. Estes últimos são muito utilizados para exibir
conteúdo recebido e processado por um componente.
Um detalhe interessante é que os componentes contam com muitos recursos na administração, enquanto
que os módulos apenas podem mudar o título, a posição ou entrar com um parâmetro (nem todos).
Veja por exemplo, as diferenças entre o componente Enquete e o Módulo correspondente Pools. Com o
componente listamos, criamos, editamos e excluimos as enquetes, enquanto que o módulo destina-se
apenas a exibir.
Página 22/58
Curso de Joomla 1.5 – http://ribafs.org
3. Configurando o site
Banco de Dados
Os dados do banco de dados e vários outros não devem ser alterados, somente em caso de transferência
da hospedagem do portal.
Na Aba Sistema
Configurações do Usuário
– Permitir Cadstro de Usuário (padrão Sim)
– Tipo de Cadastro de Novo Usuário (padrão Registrado, mas podemos escolher um dos outros)
– Ativação de cadstro de novo usuário (padrão Sim)
Configurações de Mídia
Permite filtrar pelo tipo de arquivo, tamanho, etc.
Configuração da Sessão
Aqui podemos controlar o tempo em minutos do timeout (padrão 15), tempo em que a sessão expira se não
estivermos usando a sessão de administração (ocioso). Somente aumente se bastante necessário, pois
compromete a segurança. Melhor é criar o conteúdo offline, fazer login e colar.
Meta dados
Na Aba Site
- Nesta aba da Configuração Global do Site podemos configurar o site para ficar offline, quando estivermos
efetuando manutenção que o exija.
- Alterar o nome do site.
- Alterar o editor padrão (com ou sem).
- Tamanho das listas (padrão 20)
- Metadados
Entrar com a descrição do site e com as palavras-chaves do mesmo.
É importante em termos de visibilidade para os instrumentos de busca, entrar aqui com uma descrição bem
representativa do site, assim como também as palavras-chave devem ser escolhidas com bastante critério.
Página 23/58
Curso de Joomla 1.5 – http://ribafs.org
Estatísticas/SEO
– URLs Amigáveis
– Usar mod_rewrite do Apache
Após ativar ambos como Sim, vá até o raiz do portal e renomeie o arquivo existente htaccess.txt para
.htaccess (com um ponto no início).
Este recurso permite que o Joomla use URLs assim. Veja a mesma URL antes e depois:
http://postgresql.ribafs.org/index.php?option=com_content&view=article&id=2&Itemid=2
http://postgresql.ribafs.org/introducao
Problema
Caso após ativar este recurso e tentar acessar seu site receber um erro do tipo 500...
Geralmente isso significa que seu servidor está sem suporte ao mod_rewrite no Apache.
Seria o caso de contactar o suporte para ativa o mod_rewrite ou encontrar uma forma de fazer isso
adicionando um .htaccess (se o servidor suportar).
Dica extra: usando URLs amigáveis ao criar uma seção de nome "downloads" teremos a URL:
http://site.com/downloads. Então neste caso não poderemos criar um diretório no raiz do site com nome
"downloads", como também se tiver o diretório "downloads" não poderemos criar uma seção ou outro
recurso com nome "downloads". Aí renomeia-se um dos dois. Prefiro renomear o diretório.
Desempenho do Site
Página 24/58
Curso de Joomla 1.5 – http://ribafs.org
Essa coisa é um pouco complicada e pode mudar derepente...principalmente no Google. Meu sítio era o 4°
na busca por certa palavra...depois desapareceu do mecanismo e voltou a reaparecer em 16°.
Apenas para exemplificar vou falar sobre o principal sítio de busca o Google.
O Google usa um mecanismo matemático para classificar o sítio no resultados das buscas. esta fórmula é
mantida em segredo e ajustada conforme o interesse deles em fornecer dados confiaveis.
Como pode ver são muitos fatores...mas basicamente uma boa dica é ter muiiitas páginas no seu sítio com
conteudo util. (Um sítio com 200 paginas de artigos sobre um certo assunto tem futuro garantido no
Google). Cada página linkando a uma outra página do sítio e no link o texto deve ser a palavra chave.
Outra coisa de futuro garantido: trocar links com sítios de mesmo tema, mas não concorrentes. Por
exemplo: eu tenho um sítio de criação de codornas e trroco link com um sítio sobre aves, ou um sobre
rações para aves, ou ainda receitas de cozinha com codorna.
Aqueles sistemas de FFA ou lista de links nos quais você poe seu link de forma aleatória só irão derrubar
sua posição no Google.
O sítio com o qual você troca links é importante também. Faça o Download daquela barra de navegador do
Google, ele mostra o PageRank(um numero de 0 a 10 que classifica o quanto o sítio é importante.) e tente
trocar links com sítios que tenham um PageRank maior que o seu.
Poxa são muitas técnicas para melhorar sua posição no Google, tantas que tem até livros sobre isso e
dezenas de especialistas que cobram U$500 só para te ajudar a melhorar sua posição.
O altavista segue esquema semelhante, já o Cade e Yahoo são na verdade diretórios e não sistemas de
busca, eles classificam os sítios por ordem alfabética (mas se você pagar o seu sítio pode burlar a ordem) e
caso não tenham resultados para a pesquisa eles usam os resultados do Google.
Mas basicamente faça o seguinte tenha um sítio com conteúdo util, muito conteúdo util fará as pessoas
linkarem com seu site.
E uma coisa puxa a outra.
-O mais importante para o Goggle e outros sítios de busca é a meta-tag robots, ela deve estar com um
index, follow para permitir o mecanismo visitar por conta própria o site.
Para quem gosta de matemática (uhuuuuuuuuu! ) aqui vai alguns link muiiiiito interessantes:
http://iprcom.com/papers/pagerank/
Página 25/58
Curso de Joomla 1.5 – http://ribafs.org
http://webworkshop.net/pagerank.html
Existem varias teses para download pela internet da universidade de Stanford sobre o Google.
E vamos em frente.
http://xoopscube.com.br/modules/d3forum/index.php?topic_id=974
Desbloqueio Global – Quando por algum motivo bloqueamos um conteúdo do Joomla podemos usar o
Desbloqueio Global. Acessar como super-administrador e ir no menu Ferramentas – Desbloqueio Global.
Aqui existe uma boa quantidade de parâmetros para configurar a exibição dos artigos. Veja alguns:
Página 26/58
Curso de Joomla 1.5 – http://ribafs.org
4. Componentes
O que são?
Componentes são mini-aplicativos que rodam dentro do portal Joomla. Geralmente eles têm uma área
sofisticada na seção de administração para manipulação do banco de dados.
Um componente pode trazer para o site em Joomla qualquer funcionalidade criada em PHP.
Componentes geralmente são grandes extensões. Eles ocupam a principal área do conteúdo da página.
Quando criamos artigos usamos o componente principal para exibi-los.
Página 27/58
Curso de Joomla 1.5 – http://ribafs.org
Os campos preenchidos aparecerão de acordo com as opções da direita marcadas para exibir.
Após salvar o componente então precisamos criar um item de menu para exibir o componente criado.
Vamos criar um item de menu no Main menu, no Top menu ou em outro que desejarmos.
Página 28/58
Curso de Joomla 1.5 – http://ribafs.org
Agora quando o vistante clicar no botão contato no menu, aparecerá este formulário:
Página 29/58
Curso de Joomla 1.5 – http://ribafs.org
Instalação de componente
As extensões do Joomla (modules, components, languages, plugins e templates) todas são instaladas da
mesma forma. Devem ser arquivos compactados que são instalados clicando no menu Extensões – Instalar/
Desinstalar.
Clicamos no botão arquivo para instalar um componente do qual já efetuamos download e está na nossa
máquina.
Podemos instalar um componente também diretamente de uma URL para o nosso site em Joomla.
Componentes, como são extensões que são administradas na administração, logo que são instaladas já
estão funcionando, diferente de módulos e plugins que requerem habilitação.
Todos os componentes após a instalação inserem uma entrada no menu Componentes. Raramente um
componente não o faz. Isso pode acontecer quando ele é manipulado por um plugin, apenas servindo de
apoio ao mesmo, por exemplo criando e removendo tabelas do banco de dados.
Página 30/58
Curso de Joomla 1.5 – http://ribafs.org
Criação de componentes
• Estrutura de diretórios
Componentes ao serem instalados copiam seus arquivos para a pasta components e caso tenham área
administrativa copiam para administrator/components.
Vamos agora criar um componente o mais simples possível, apenas para mostrar como funciona um
componente. Chamaremos este componente de com_ola e será criado dentro da estrutura do nosso portal
sem instalador. Esta primeira parte será o componente que será mostrado no site. Depois criaremos a parte
do nosso componente que ficará na administração.
portal/com_ola
ola.php
Criar o diretório portal/com_ola e dentro deste criar o script ola.php com o conteúdo:
<?php
defined( ' JEXEC' ) or die( 'Restricted Access' );
print '<div class="componentheading">Olá Mundo!</div>';
?>
Já podemos executar nosso componente e visualizar a mensagem. Para isso chame no navegador:
http://localhost/portal/index.php?option=com_ola
Veja que a mensagem está com a formatação do template. Isso porque usamos a classe
componentheading.
portal/administrator/components/com_ola
<?php
defined( ' JEXEC' ) or die( 'Restricted Access' );
print 'Olá Mundo Admin!';
?>
Veja que o arquivo do admin ficou com prefixo admin.. Isso é uma boa convenção.
Para executar, faça o login na seção de administração e chame pelo navegador assim:
http://localhost/portal/administrator/index.php?option=com_ola
Página 31/58
Curso de Joomla 1.5 – http://ribafs.org
• XML de instalação
Mesmo este nosso pequeno componente, para redistribuir e permitir instalação mais simples, precisamos
adicionar um XML com uma estrutura que segue o padrão do Joomla e empacotar os arquivos.
Vamos criar um arquivo XML para nosso componente. No caso precisará de dois XML, um para a parte do
site e outro para a parte do admin e também precisaremos alterar um pouco a estrutura de diretórios.
com_ola
admin/index.html
admin/admin.ola.php
ola.xml
ola.php
index.html
Devemos ter apenas um script XML no componente, contendo as informações necessárias para que o
Joomla faça a instalação e desinstalação do componente.
<description>
Um componente inicial apenas para mostrar a lógica dos componentes. Parte Admin.
</description>
<files>
<filename>ola.php</filename>
<filename>index.html</filename>
</files>
<administration>
<files folder="admin">
<filename>admin.ola.php</filename>
<filename>index.html</filename>
</files>
</administration>
</install>
Cuidado com a tag name, evite acentos e espaços. Entre o nome do componente, que deve ser único para
identificar o componente com exclusividade.
Veja que devemos relacionar todos os arquivos que queremos que o Joomla instale.
Uma boa prática é inserir em todos os diretórios da extensão um arquivo index.html para evitar a listagem
do diretório, contendo apenas a linha:
<html><body bgcolor="#FFFFFF"></body></html>
Página 32/58
Curso de Joomla 1.5 – http://ribafs.org
Após a instalação não encontraremos nenhuma entrada no menu Componentes para nosso com_ola.
Como não criamos nenhum item de menu para os Componentes não aparece.
Para que apareça no menu Componentes adicione essas linhas, para que a tag <administration> fique
assim:
<administration>
<menu>Olá Mundo</menu>
<files folder="admin">
<filename>admin.ola.php</filename>
<filename>index.html</filename>
</files>
</administration>
Agora compacte novamente, desinstale o existente e instale essa versão para ver a entrada no menu
Componentes do nosso componente com_ola.
Compactação
A compactação pode usar um dos seguintes formatos:
zip, tar, gz, tgz, gzip, bz2, tbz2 ou bzip2.
No CD que acompanha o curso encontrará alguns exemplos testados simples e outros mais complexos para
mostrarem melhor como funcionam os componentes.
Este pequeno componente exibe um pequeno form com dois campos no site (Livro de visitas) e também
mostra um botão na administração para edição das entradas do livro de visitas. As entradas são
armazenadas em uma tabela a ser criada que será instalada quando da instalação do componente e
desinstalada quando da desinstalação do mesmo.
Observe que na instalação serão criadas as pastas com_guestbook na pasta components e outra pasta com
o mesmo nome na pasta administrator/components. Para esta última será copiado o arquivo
admin.guestbook.php, o guestbook.xml , juntamente com os scripts SQL. Para a pasta
components/com_guestbook será copiado o arquivo guestbook.php . O arquivo guestbook.xml é utilizado
para a instalação e desinstalação do componente, juntamente com a tabela.
com_guestbook/admin.guestbook.php
com_guestbook/guestbook.php
com_guestbook/guestbook.xml
com_guestbook/install.sql
com_guestbook/uninstall.sql
Suponhamos que instalamos o Joomla na pasta "portal", então vamos criar uma pasta chamada
"com_guestbook" dentro da pasta portal/components, ficando assim:
Página 33/58
Curso de Joomla 1.5 – http://ribafs.org
portal/components/com_guestbook
admin.guestbook.php
guestbook.php
guestbook.xml
install.sql
uninstall.sql
Agora vejamos detalhes sobre a criação de cada um destes arquivos. Abra seu editor favorito e crie os
mesmos.
install.sql
Um simples script SQL para criação de uma tabela para o guestbook. Apenas vale ressantar o prefixo do
nome da tabela "#__". Este é recomendado ao invés do um prefixo fixo da tabela e será substituído pelo
prefixo entrado de forma dinâmica.
uninstall.sql
guestbook.xml
<uninstall>
<sql>
<file driver="mysql" charset="utf8">uninstall.sql</file>
</sql>
</uninstall>
<administration>
<menu>Guestbook</menu>
<files>
Página 34/58
Curso de Joomla 1.5 – http://ribafs.org
<filename component="admin.guestbook">admin.guestbook.php</filename>
<filename>install.sql</filename>
<filename>uninstall.sql</filename>
</files>
</administration>
</install>
guestbook.php
<?php
/**
* @version $Id: guestbook.php 5203 2007-06-15 02:45:14Z DanR $
* @copyright Copyright (C) 2007 Dan Rahmel. All rights reserved.
* @package Guestbook
* This component displays guestbook entries and allows the addition
* of entries from registered users.
*/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
Página 35/58
Curso de Joomla 1.5 – http://ribafs.org
<?php } ?>
admin.guestbook.php
<?php
/**
* @version $Id: guestbook.php 5203 2007-06-15 02:45:14Z DanR $
* @copyright Copyright (C) 2007 Dan Rahmel. All rights reserved.
* @package Guestbook
* This component displays guestbook entries and allows the addition
* of entries from registered users.
*/
// no direct access
Página 36/58
Curso de Joomla 1.5 – http://ribafs.org
Página 37/58
Curso de Joomla 1.5 – http://ribafs.org
<?php
foreach ($rows as $row) {
$link = 'index.php?option=com_guestbook&task=edit&id='. $row->id;
// Truncate row message for display
$rowMessage = $row->message;
if(strlen($rowMessage) > 100) {
$rowMessage = substr($rowMessage, 0, 100) . "...";
}
echo "<tr>" .
"<td>" . $row->id . "</td>" .
"<td><a href=" . $link . ">" . $rowMessage . "</a></td>" .
"<td>" . $row->created . "</td>" .
"<td>" . $row->name . "</td>" .
"</tr>";
}
echo "</table>";
echo "<h3>Clique em um link de entrada para editar.</h3>";
}
function editEntry() {
JToolBarHelper::title( JText::_( 'Editor de Entradas no Guestbook' ), 'addedit.png' );
Página 38/58
Curso de Joomla 1.5 – http://ribafs.org
</p>
</form>
<?php } } ?>
Como criamos os arquivos dentro da estrutura do Joomla então ele já deve estar funcionando, a não ser
pelo fato de não termos ainda criado a tabela no banco de dados.
Apenas nos falta criar manualmente a tabela, pois como não instalamos pelo Joomla o componente então
deveremos criar a tabela manualmente.
Redistribuindo Extensões
Para poder redistribuir nossas extensões devemos gerar instaladores das mesmas, criando uma estrutura
de diretórios semelhante à do Joomla, adicionando um XML com as informações necessárias e
compactando tudo. No caso do nosso componente com_guestbook devemos criar um diretório chamado
"com_guestbook" e colocar nele os cinco arquivos, incluindo o instalador (XML) para então compactar.
Outro fator importante em termos de redistribuição é o suporte a diversos idiomas. Veja que o nosso
componente tem strings fixas e não conta com o suporte a vários idiomas. Veremos mais a frente como
implementar esse suporte.
Estrutura da URI
http://localhost/portal/index.php?option=com_exemplo
Executando tarefas
http://localhost/portal/index.php?option=com_exemplo&task=view
http://localhost/portal/index.php?option=com_exemplo&task=new
Página 39/58
Curso de Joomla 1.5 – http://ribafs.org
5. Administração de usuários
Controle de Níveis de Acesso
Grupos de Usuários
– site (frontend)
– público
– autor
– editor
– redator
– administração (backend)
– gerente – não acessa extensões ou ferramentas, como o gerenciador de usuários
– administrador – não acessa funções globais
– super-administrador – acessa todas as funções do Joomla
Registro
Logo que o usuário se cadastra no site ele não pode efetuar o login. Antes precisa confirmar o e-mail que
recebeu do site.
Nenhum dos grupos de usuários do frontend tem acesso ao backend e todos os do backend podem acessr
o frontend como usuário com privilégios de redator.
Autor – pode criar conteúdo. O conteúdo ficará esperando que alguém o edite ou publique.
Editor – pode criar conteúdo e editar qualquer conteúdo do site. O conteúdo ficará esperando que alguém o
publique.
Redator – pode criar conteúdo, editar e publicar qualquer conteúdo do site. Semelhante ao editor, com as
funções de publicar e exibir na página inicial.
Gerente
– Gerenciar:
– mídia
– menu
– conteúdo
– página inicial
– componentes
– ajuda
Administrador
– tem as atribuições do gerente e além disso gerenciar:
– usuários
– instalar e desinstalar extensões
– módulos
Página 40/58
Curso de Joomla 1.5 – http://ribafs.org
– plugins
– desbloqueio global
Super-administrador
– tem as atribuições do administrador e mais:
– configuração
– gerenciar idioma
– gerenciar templates
– instalar template
– gerenciar idioma
– e-mails em massa
Pode qualquer coisa no front e backend.
Página 41/58
Curso de Joomla 1.5 – http://ribafs.org
6. Módulos
O que é?
Os módulos são extensões do Joomla destinados a exibir conteúdo em uma área do Joomla nas
margens da página. Sua posição é determinada pelo template. Módulos complementam o conteúdo
contido em um componente. Não são destinados a ser a parte principal de uma página.
Ao contrário dos componentes, qualquer número de módulos pode aparecer em uma página. O
controle do módulo no backand é bem restrito, geralmente voltado para a formatação do conteúdo.
São as extensões mais simples, por isso começaremos com eles.
Instalação
A instalação dos módulos, assim como dos demais tipos de extensões é feita da mesma forma:
Clicamos no menu Extensões – Instalar/Desinstalar, indicamos o arquivo compactado e se tudo correr bem
ele está instalado e pronto para usar.
Diferente dos componentes, os módulos após instalados requerem que o habilitemos para que possam
então ser vistos no site.
Quando da habilitação podemos efetuar algumas configurações como posição, ordem entre outras.
Quando instalamos um módulo sua pasta com arquivos é copiada para a pasta portal/modules do Joomla.
Vamos mostrar como é a lógica de criação de um módulo no Joomla 1.5, criando um pequeno módulo
chamado "mod_ola", que contém apenas um script ola.php e outro ola.xml.
Estrutura de diretórios.
mod_ola
ola.xml
ola.php
index.html
ola.xml
Página 42/58
Curso de Joomla 1.5 – http://ribafs.org
<creationDate>Agosto 2009</creationDate>
<copyleft>(C) 2009.None rights reserved.</copyleft>
<license>http://www.gnu.org/copyleft/gpl.html GNU/GPL</license>
<authorEmail>ribafs@ribafs.org</authorEmail>
<authorUrl>http://ribafs.org</authorUrl>
<version>1.0.0</version>
<description>
Este módulos destina-se a demonstrar a lógica de criação de um módulo Joomla.
</description>
<files>
<filename module="mod_ola" >ola.php</filename>
<filename module="mod_ola" >index.html</filename>
</files>
</install>
Para o script ola.php utilizaremos o mesmo do nosso componente com_ola sem problema.
Para o script index.html também utilizaremos o mesmo do componente, que aliás pode ser utilizado sempre
que criarmos qualquer extensão.
Vamos criar um pequeno módulo que tem uma tabela contendo feriados e que mostrará no site uma
saudação aos visitantes avisando que hoje é um certo feriado, se for o caso.
Os componentes não têm interferência no backand, portanto não manipulam diretamente o banco de dados.
Neste caso o módulo consulta uma tabela mas teremos que criar a mesma e inserir seus dados
manualmente. Para manipulação direta de bancos de dados, criar tabelas, inserir registros e remover
tabelas temos os componentes, que veremos em seguida.
Vamos criar uma pasta chamada "mod_feriados" e dentro os quatro arquivos seguintes.
Estrutura de Arquivos
mod_feriados/createtable.sql
mod_feriados/insertdata.sql
mod_feriados/mod_feriados.php
mod_feriados/mod_feriados.xml
createtable.sql
Página 43/58
Curso de Joomla 1.5 – http://ribafs.org
insertdata.sql
mod_feriados.php
<?php
/**
* @version $Id: mod_holidaygreetings.php 5203 2006-09-27 02:45:14Z JinxDanr $
* @package Joomla
* @copyright Copyright (C) 2007 Dan Rahmel. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Módulo para exibir saudação de feriado quando for o dia.
*/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<div><small>
<?php
echo JText::_( '<p>Hoje é ');
echo( date("l, F dS Y.") . '</p>' );
?>
</small></div>
<div>
<?php
$myGreeting = $params->get('greeting', 0);
$boldSetting = $params->get('boldgreeting', 0);
if ($boldSetting == 1) {
$bb = "<b>";
$be = "</b>";
} else {
$bb = "";
$be = "";
}
$curDay = date("d");
$curMonth = date("m");
Página 44/58
Curso de Joomla 1.5 – http://ribafs.org
?>
</div>
mod_feriados.xml
Página 45/58
Curso de Joomla 1.5 – http://ribafs.org
- Parâmetros: que permitem alterar o comportamenteo padrão do módulo, passando algumas opções que o
usuário pode esoclher ou entrar.
<params>
<param name="greeting" type="text" default="Feliz feriado!"
label="Saudação" description="O texto que deve aparecer após a mensagem." />
<param name="boldgreeting" type="radio" default="0"
label="Saudações negrito" description="Determina se saudação será negrito ou não.">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
</params>
Aqui temos dois parâmetros: greeting e boldgreeting. Cujas funções são de tornar ou não negritada a
mensagem.
Parâmetros implementam interatividade com o usuário. No e Yes serão traduzidos (caso sua administração
esteja traduzida).
Página 46/58
Curso de Joomla 1.5 – http://ribafs.org
7. Mambot/Plugin
O que é?
Quando uma peça de código é necessária em todo o site então isto será melhor implementado com
um plugin. Geralmente utilizado para formatar a saída de um componente ou módulo quando a
página é construída. Exemplos de plugins: palavras-chaves realçadas, caixas de comentários,
editores HTML, etc. Plugins aumentam e melhoram as funcionalidades existentes no franework do
Joomla. Nos habilitam a executar código que respondem a certos eventos.
Instalação
Criação de Mambot
Estrutura de arquivos
XML de instalação
Veja agora o código de um plugin bem simples, que sempre exibirá a mensagem Olá Mundo quando
abrirmos qualquer artigo.
plg_ola
ola.xml
ola.php
index.html
Página 47/58
Curso de Joomla 1.5 – http://ribafs.org
ola.php
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport( 'joomla.plugin.plugin' );
/**
* Example system plugin
*/
class plgSystemOla extends JPlugin
{
function plgSystemOla( &$subject, $config )
{
parent::__construct( $subject, $config );
ola.xml
<?xml version="1.0" encoding="utf-8"?>
<install version="1.5.2" type="plugin" group="system" method="upgrade">
<name>System - Ola</name>
<author>Author</author>
<creationDate>Month 2008</creationDate>
<copyright>Copyright (C) 2008 Holder. All rights reserved.</copyright>
<license>GNU General Public License</license>
<authorEmail>email</authorEmail>
<authorUrl>url</authorUrl>
<version>1.0.1</version>
<description>A test system plugin</description>
<files>
<filename plugin="ola">ola.php</filename>
<filename plugin="ola">index.html</filename>
</files>
<params>
<param name="ola"
type="text"
default=""
label="Exemplo"
description="An example text parameter" />
</params>
</install>
Página 48/58
Curso de Joomla 1.5 – http://ribafs.org
Veja agora o código de um plugin simples que substitui algumas abreviações pelo seu respectivo valor por
extendo em todos os artigos criados a partir da publicação deste plugin.
plg_abreviacoes
abreviacoes.xml
abreviacoes.php
index.html
abreviacoes.xml
<?xml version="1.0" encoding="UTF-8"?>
<install version="1.5" type="plugin" group="content">
<name>Content - Substituir Abreviações</name>
<author>Dan Rahmel. Adaptação de Ribamar FS</author>
<creationDate>July 2007</creationDate>
<authorEmail>admin@joomlajumpstart.com</authorEmail>
<authorUrl>www.joomlajumpstart.com</authorUrl>
<version>1.0</version>
<description>Substitui abreviações existentes em artigos por seu respectivo valor.</description>
<files>
<filename plugin="abreviacoes">abreviacoes.php</filename>
</files>
<params>
<param name="replace_limit" type="text" size="5" default="50" label="Limite de Busca"
description="Quantos itens retornar"/>
</params>
</install>
abreviacoes.php
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
Página 49/58
Curso de Joomla 1.5 – http://ribafs.org
?>
Um outro plugin do CD procura por algumas palavras que sejam título de resenhas dos restaurantes e
substitui por links para as respectivas resenhas.
Página 50/58
Curso de Joomla 1.5 – http://ribafs.org
8. Templates
Posições de template
As posições ocupadas pelos módulos são definidas nos templates, mais precisamente no CSS e
controladas pelo index.php.
Página 51/58
Curso de Joomla 1.5 – http://ribafs.org
<positions>
<position>left</position>
<position>right</position>
<position>top</position>
<position>banner</position>
<position>header</position>
<position>footer</position>
<position>pathway</position>
<position>user1</position>
<position>user2</position>
<position>user3</position>
<position>user4</position>
<position>user5</position>
<position>inset</position>
<position>debug</position>
<position>search</position>
<position>debug</position>
</positions>
Simplesmente inserindo a entrada de uma posição no XML não irá adicionar a posição ao template. Para
adicioná-la precisamos criar no CSS e adicionar ao index.php.
Editando um template
O Joomla nos oferece recursos para alteração dos templates através da interface de administração.
Vá em Extensões – Administrar Tema e clique no link de um template.
Instalando um template
Criação de Template
Estrutura de arquivos
XML de instalação
Página 52/58
Curso de Joomla 1.5 – http://ribafs.org
O objeto JDocumentHTML
echo $this->language
echo $this->direction // diretório
echo $this->template
echo $this->title
echo $this->description
echo $this->link
echo $this->countModules('user1')
Evite templates mal comportados, use apenas aqueles que separam bem as camadas e que usam CSS e
JavaScript em arquivos separados.
Páginas semânticas - São páginas (X)HTML que cuidam somente do conteúdo, ficando com o CSS a
apresentação.
Adote páginas de erros personalizadas para redirecionar os usuários para uma mensagem e link para a
página inicial.
Para isso use os serviços oferecidos pelo cPanel ou outro software de administração web.
\css
template.css
\images
joomlacurso.png
index.php
templateDetails.xml
index.php
<?php echo '<?xml version="1.0" encoding="utf-8"?' .'>'; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="templates/_system/css/general.css" type="text/css" />
Página 53/58
Curso de Joomla 1.5 – http://ribafs.org
<body id="page_bg">
</body>
</html>
templateDetails.xml
<?xml version="1.0" encoding="utf-8"?>
<install version="1.5" type="template">
<name>Two Column template</name>
<version>1.0</version>
<creationDate>01/18/2007</creationDate>
<author>Dan Rahmel</author>
<authorEmail>admin@joomlaJumpstart.com</authorEmail>
<authorUrl>http://www.joomlaJumpstart.com </authorUrl>
<copyright>2007</copyright>
<license>GNU/GPL</license>
<description>Two CSS columns in the Joomla world.</description>
<files>
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
<filename>images/joomlacurso.png</filename>
<filename>css/template.css</filename>
</files>
<positions>
<position>left</position>
</positions>
</install>
Página 54/58
Curso de Joomla 1.5 – http://ribafs.org
Diretório css
template.css
div#logo {
width: 110%; height: 100px;
margin-left: -10px;
margin-bottom: 10px;
background: url(../images/joomlacurso.png) left no-repeat;
border: 1px solid #244223 ;
padding: 0px;
}
#col1 {
float:left;width:20%;
display:inline;
background:#244223;
padding: 10px;
}
#col2 {
float:right;width:75%;
display:inline;
border:3px solid #244223;
background:#58a155;
padding: 10px;
}
#container {
float:left;width:85%;
display:inline;
}
#myclear {
clear:both;
}
#page_bg {
font-family: Verdana, Arial, Helvetica, sans-serif;
height: 100%;
background: black;
}
.moduletable_menu, .moduletable
{
color: white;
border-bottom: 1px solid #fff;
margin-bottom: -1em;
Página 55/58
Curso de Joomla 1.5 – http://ribafs.org
.moduletable_menu h3 {
border-bottom: 1px solid #FFFFFF;
margin-bottom: 0px;
}
.moduletable_menu ul {
margin-left: 10px;
margin-top: 0px;
padding: 10px;
font-size: 80%;
list-style-type: square;
}
.contentheading {
border-bottom: 2px solid Black;
border-right: 2px solid Black;
border-left: 1px solid LightGreen;
border-top: 1px solid LightGreen;
background:#244223;
color: white;
padding: 10px;
font-size:2em;
}
.contentpaneopen h1 {
font-size:1.5em;
border-bottom: 1px solid #244223;
padding: 10px;
}
Extensões
As extensões dão muita força ao Joomla, podendo adicionar praticamente qualquer funcionalidade ainda
não existente na atual versão.
Qualquer programa escrito em PHP é uma extensão em potencial do Joomla aguardando para ser escrita
como extnsão.
Página 56/58
Curso de Joomla 1.5 – http://ribafs.org
O código do Joomla foi projetado para ser extendido e não para ser modificado diretamente (hacked). Ao
invés de alterar o core devemos criar uma extensão.
Desenvolvimento de Extensões
Sempre testar as extensões pelo menos no Windows e no Linux, como também no FF e no IE.
Antes de começar a criar uma nova extensão é prudente realizar uma boa busca no GED e no Google à
procura de extensão similar.
Mesmo que não encontre uma que atenda, poderá encontrar alguma que possa ser útil para evitar criar do
zero.
Referências
- Livro
Joomla! A User's Guide: Building a Successful Joomla! Powered Website
Autor - Barrie M. North
Editora - Prentice Hall
- Livro
Learning Joomla! 1.5 Extension Development
Creating Modules, Components, and Plug-Ins with PHP
Autor - Joseph LeBlanc
Editora - Packt Publishing
- Livro
Mastering Joomla! 1.5 Extension and Framework Development
The Professional's Guide to Programming Joomla!
Autor - James Kennard
Editora - Packt Publishing
- Livro
Professional Joomla!
Autor - Dan Rahmel
Editora – Wrox
- Livro
Joomla! Template Design
Create your own professional-quality templates with this fast, friendly guide
Autor - Tessa Blakeley Silver
Editora - Packt Publishing
- Livro
Building Websites with Joomla! 1.5
Autor - Hagen Graf
Editora - Packt Publishing
Página 57/58
Curso de Joomla 1.5 – http://ribafs.org
- Livro
Beginning Joomla! From Novice to Professional
Autor - Dan Rahmel
Editora - Apress
- Livro
Joomla! Cash
Money-making weapons for your Joomla! website
Autores - Brandon Dawson e Tom Canavan
Editora - Packt Publishing
- http://joomla.org
- http://www.google.com.br
____________________________________________
Ribamar FS – Fortaleza - Ceará, 21 de agosto de 2009
Página 58/58