ti-enxame.com

Como desenvolver um módulo Joomla?

Procurei em todo o mundo um tutorial sobre isso, mas não consigo encontrar nada satisfatório. Como você cria um novo módulo para o joomla?

No momento, estou usando módulos HTML personalizados em todo o meu código e gostaria de poder acessar PHP e transformá-los em um módulo, mas não encontrei um tutorial para fazer isso.Eu modifiquei os módulos instalados antes, mas não sei como fazer um que seja instalado.

A documentação do joomla é bastante confusa e, depois de ler várias vezes, desisti. Alguém pode me ajudar a explicar esse processo? obrigado!

10
serakfalcon

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 (que poderíamos dizer serem 2 aplicativos front-end/back-end) e foram 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 o encontrará rapidamente.

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

  1. O mod_articles_latest.php é o arquivo principal dos módulos, aquele que é usado primeiro quando o módulo é chamado. Inicializa o módulo e inclui o helper.php, Chama o método de classe do auxiliar para recuperar dados e, finalmente, inclui o modelo do módulo (default.php) Para exibir os dados.

  2. O arquivo helper.php é o "mecanismo" do módulo (se é que podemos nomear isso). 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 auxiliar deste módulo, você verá que ele contém a ModArticlesLatestHelper Class , que possui uma Método: getList(&$params).
    Nesse 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 método JModelLegacy::getInstance para retornar o Objeto do Modelo de Conteúdo .

  3. 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 método JModuleHelper::getLayoutPath, que primeiro verifica se há alguma substituição de modelo.

  4. Finalmente, o 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 Sequências de idiomas e arquivos 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.

17
FFrewin
15
Peter Wiseman

Nós desenvolvemos um módulo gratuito para o mesmo objetivo Custom PHP Module for Joomla CMS .

Você precisa criar um arquivo PHP, por exemplo, login.php em [website-root]/modules/mod_customphp/files

  • Agora, para usar este arquivo
  • Vá para [back-end] -> module-manager
  • Crie um novo módulo php customizado
  • No parâmetro includefile put login
  • Isso renderizará o login.php no módulo.
3
Shyam

Você pode copiar um módulo existente em uma instalação local. Então você renomeia da maneira que desejar. Você também precisa renomear os arquivos php e xml, bem como os nomes das classes php no código. Então você acabou de criar um arquivo zip do seu módulo. Este arquivo zip que você pode instalar na sua instalação do joomla.

Você precisa de mais detalhes sobre como renomear?

3
seagul