|
Este é o primeiro artigo de uma série em que mostrarei como desenvolver componentes, módulos e plugins para Joomla.
No Joomla Day Brasil pude notar que temos hoje no Brasil um grande número de usuários desse CMS, porém o número de desenvolvedores que conhecem seu core e que desenvolvem novas funcionalidades ainda é relativamente pequeno.
Por se tratar de um tema complexo para iniciantes iremos criar um componente que apenas exibe a mensagem "Olá Mundo" no site e também na área administrativa.
Conhecimentos necessários:Joomla: Médio PHP: Básico Escrevendo um componente básico
Iremos criar um componete que irá exibir a tradicional mensagem "Olá Mundo" no seu site.
Abra seu editor de código PHP preferido e crie um arquivo dentro do seu Joomla:
components/com_olamundo/olamundo.php contendo o texto:
"Olá Mundo! Estou contribuindo para a comunidade Joomla!"
Você pode testar esse componente básico digitando na url do seu navegador
http://coloqueseusite/index.php?option=com_olamundo
Não se esqueça de completar a url com o caminho para o diretório onde seu site está hospedado. estou testando na minha própria máquina e o caminho ficou assim:
http://localhost/diegobotelho/index.php?option=com_olamundo Administrador do componente
Agora vamos criar um arquivo semelhante na adiministração do site
administrator/components/com_olamundo/olamundo.php contendo o texto:
"Administrando meu primeiro componente".
Você pode testar a administração digitando na url do seu navegador http://coloqueseusite/administrator/index.php?option=com_olamundo
Empacotando seu componente em um instalador zip
Se você conhece o Joomla já sabe que suas extensões são instaladas através de arquivos zip contendo todos os arquivos necessários para seu funcionamento e um arquivo xml que seria uma espécie de mapa para informar ao Joomla onde cada arquivo deve ser armazenado e seus parâmetros de configuração.
Removas as pastas que criamos anteriormente e coloque em uma pasta fora do projeto com a seguinte estrutura:
- olamundo.xml
- site/olamundo.php
- site/index.html
- admin/olamundo.php
- admin/index.html
olamundo.xml
<?xml version="1.0" encoding="utf-8"?> <extension type="component" version="1.6.0" method="upgrade"> <name>Olá Mundo</name> <!-- Os elementos a seguir são opcionais --> <creationDate>November 2009</creationDate> <author>Diego Botelho Martins</author> <authorEmail>
Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo.
</authorEmail> <authorUrl>http://www.diegobotelho.com.br</authorUrl> <copyright>Todos os direitos reservados</copyright> <license>Informações sobre a licença</license> <!-- A string com a versão é gravada na tabela de componentes --> <version>0.0.1</version> <!-- A descrição é opcional porém somos encorajados a escrevê-las para nossos usuários--> <description>Descrição do componente Olá Mundo ...</description> <!-- Arquivo principal do site --> <!-- Note o atributo folder: este atributo descreve a pasta para onde os arquivos deverão ser copiados --> <files folder="site"> <filename>index.html</filename> <filename>olamundo.php</filename> </files> <administration> <!-- Menu da administração --> <menu>Olá Mundo!</menu> <!-- Arquivo principal da administração -->
<!-- Note o atributo folder: este atributo descreve a pasta para onde os arquivos deverão ser copiados -->
<files folder="admin"> <filename>index.html</filename> <filename>helloworld.php</filename> </files> </administration> </extension>
site/olamundo.php (Mesmo arquivo criado no tópico anterior) admin/olamundo.php (Mesmo arquivo criado no tópico anterior)
index.html
<html><body bgcolor="#FFFFFF"></body></html>
Uma vez criado o diretório comprima esta pasta em um arquivo zip e vá até o instalador de extensões na administração do site:
Menu > Extensões > Instalar/Desinstalar
Se a instalação foi concluída com sucesso teste novamente usando os mesmos caminhos informados anteriormente:
http://coloqueseusite/index.php?option=com_olamundo http://coloqueseusite/administrator/index.php?option=com_olamundo
Você pode notar que o componente estará disponível no menu de componentes da área administrativa.
No próximo artigo irei explicar como funciona a estrutura Model-View-Controller das extensões e com isso mergulharemos um pouco mais na programação do nosso componente.
É isso pessoal, espero que tenham gostado.
Até o próximo artigo!
|