Aprendendo o desenvolvimento do módulo Joomla
A maneira como aprendi foi estudando e personalizando o núcleo ou outros módulos de terceiros.
Módulos como conceito são mais simples que os componentes (o que poderíamos dizer são 2 aplicativos front-end / back-end) e são projetados para exibir uma informação.
Portanto, se você abrir a pasta / arquivos do módulo e começar a ler o código, provavelmente entrará rapidamente nele.
Anatomia do módulo Joomla por exemplo
Por exemplo, você pode abrir o Módulo de Artigos Mais Recentes no Joomla 3.2 e verificar seu código enquanto lê as linhas abaixo. Na pasta do módulo, encontraremos os 4 arquivos básicos:
1. mod_articles_latest.php
2. helper.php
3. tmpl/default.php
4.mod_articles_latest.xml
O mod_articles_latest.php
é o principal arquivo dos módulos, o que é usado pela primeira vez quando o módulo é chamado. Inicializa o módulo e inclui o helper.php
, chame o método de classe do auxiliar para recuperar dados e, finalmente, inclui o modelo do módulo ( default.php
) para exibir os dados.
O helper.php
arquivo é a "maquinaria" do módulo (se assim for, podemos citar). No auxiliar, criamos a classe do módulo e seus métodos para recuperar os dados. Este é o lugar onde podemos ter o módulo "talk" com o banco de dados. Lendo o código no arquivo helper deste módulo, você vai ver que ele contém a ModArticlesLatestHelper
classe , que tem um método:getList(&$params)
.
Dentro desse método, o módulo verifica as configurações de back-end do módulo e, eventualmente, cria a lista dos artigos que ele retornará, com base nessas condições. Observe que este módulo usa o JModelLegacy::getInstance
método para retornar o objeto do modelo de conteúdo .
O default.php
é o modelo principal do módulo e responsável por exibir o conteúdo do módulo. - Aqui criamos a saída html, usando os dados que você recuperou anteriormente no mod_articles_latest.php
chamando a classe do módulo. Está localizado dentro da pasta tmpl . * Observe que o arquivo do módulo principal inclui o arquivo de modelo com o JModuleHelper::getLayoutPath
método, que primeiro verificará se há alguma substituição de modelo.
Finalmente, mod_articles_latest.xml
eu chamaria isso de "embaixador" do módulo. É o arquivo que "apresenta" o módulo ao Joomla durante a instalação, especifica os arquivos que serão copiados pelo instalador e também contém as informações sobre os parâmetros do módulo que são usados pelo gerenciador de módulos, além de informações adicionais sobre o módulo.
Essas são as partes essenciais de um módulo básico. Outro aspecto que você pode querer considerar é o suporte a vários idiomas. Isso pode ser alcançado usando os arquivos de seqüências de idiomas e de tradução de idiomas . Se você tivesse alcançado com sucesso até agora, para criar um módulo básico, a adição de suporte a idiomas deve ser bem simples.