Continuando nossa série de artigos sobre criação de módulos para o Joomla, abordaremos um módulo simples, porém útil, que irá exibir na tela uma mensagem de saudação, dependendo da data atual.
Poucos módulos são tão simples como o exemplo "Alô Mundo" abordado no artigo anterior. Muitas vezes um módulo requer algum tipo de acesso a base de dados para após a leitura do conteúdo, exibir o resultado no "place holder" correspondente.
O módulo que iremos criar, terá o seguinte funcionamento:
- Verificação da data atual;
- se houver alguma saudação para a data em questão, armazenada na base de dados, a mesma será exibida na tela; e
- caso contrário, será exibida a data atual.
1) Crie um diretório com o nome de mod_holidaygreeting. Este será o nome do módulo que você irá instalar no seu Joomla futuramente.
Figura 1 - criando o diretório

Figura 1 - criando o diretório

2) Com o bloco de notas ou outro programa de sua preferência, crie o arquivo mod_holidaygreeting.xml
Figura 2 - o arquivo xml

Figura 2 - o arquivo xml

- Ao contrário do módulo anterior, nós poderemos passar parâmetros para o módulo Holiday Greeting, através da tag do arquivo xml;
- Estes parâmetros são bons exemplos de configurações administrativas possíveis de serem instanciadas nos módulos, através do arquivo xml, estando disponíveis no backend do Joomla, sem a necessidade de alterar o código fonte do módulo;
- Neste caso específico, os parâmetros serão passados via texto (string de até 255 caracteres) e seleção de botões rádio com os valores de 0 para não e 1 para sim; e
- O Joomla consegue manipular qualquer parâmetro existente no arquivo xml.
3) Crie o arquivo mod_holidaygreeting.php, com o próprio bloco de notas ou o programa de sua preferência.
Figura 3 - o arquivo php

Figura 3 - o arquivo php

- Este código é mais complicado que o Alô Mundo que possui uma linha apenas e começa com a tag para formatação do tamanho da fonte a ser utilizada no texto de saída dos dias atuais;
- A seção seguinte do código recupera os valores dos dois parâmetros que podem ser definidos pelo administrador através do backend do Joomla;
- Se o parâmetro Boldgreeting foi definido como sim, então as variáveis serão apresentadas em negrito;
- Em seguida o mês e dia atuais serão armazenados em variáveis para serem acessados posteriormente;
- A variável $db, está programada para realizar uma referência ao objeto da atual base de dados, permitindo assim a devida conexão à mesma;
- Em seguida é criada uma variável para receber o valor recuperado da consulta quando a mesma não encontrar nenhum tipo de saudação;
- A função intval() é usada com os valores retornados pela função date();
- A função date() retorna o número do mês;
- Uma vez que os valores dos meses são armazenados no banco de dados como números inteiros (janeiro = 1), a função intval vai permitir a recuperação sem nenhum conflito;
- A consulta é realizada contra a base de dados e a função loadObjectList() exibe a lista de valores recuperada do banco;
- A função count() verifica se existem saudações para a data atual e caso contrário exibe uma simples mensagem de bem-vindo;
- Se existir alguma saudação para a data atual, a mesma será exibida de acordo com os parâmetros determinados no módulo;
4) Uma vez que terminamos de digitar o arquivo php, basta compactar todo o conteúdo do diretório, gerando um pacote zip ou tarbol (para GNU/LINUX) e proceder a instalação normalmente pelo backend do Joomla. Lembre-se que o nome do pacote deverá obrigatoriamente ter o nome do módulo, ou seja: mod_holidaygreeting.zip
Figura 4 - Instalando o módulo

Figura 4 - Instalando o módulo

5) Para que o módulo funcione perfeitamente, precisaremos de criar e popular a tabela na base de dados. O ideal seria criarmos um componente para instalar a tabela e permitir a inserção de dados na mesma. Porém, isso é assunto para outro tutorial, o de criação de componentes.
6) Irei demonstrar a criação da tabela e população de dados na unha.
- Primeiro vamos criar um script sql que irá criar nossa tabela. Para tal, abra o bloco de notas e digite o código abaixo, lembrando de salvar com a extensão .sql.

- Depois vamos criar um script sql para inserir dados (popular) a tabela.

7) Agora basta acessar a base de dados do seu website e através do phpmyadmin fazer a importação do script de criação da tabela e depois a importação do script de inserção de dados.
8) Pronto, nosso módulo irá mostrar as saudações inseridas para as respectivas datas. Fica a seu critério melhorar o código de inserção de dados, com as datas e saudações que desejar ou criar o seu próprio módulo.
:: Para baixar o código fonte do módulo e os scripts sql, clique aqui.












