Como desenvolver um módulo Joomla?


10

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 acessar o 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!

Respostas:


17

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

  1. 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.

  2. O helper.phparquivo é 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 ModArticlesLatestHelperclasse , 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::getInstancemétodo 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.phpchamando 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::getLayoutPathmétodo, que primeiro verificará se há alguma substituição de modelo.

  4. Finalmente, mod_articles_latest.xmleu 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.


15

3

Nós desenvolvemos um módulo gratuito para o mesmo propósito Módulo PHP personalizado para 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.

que responde ao meu caso de uso wrt php, mas não responde ao que eu estava realmente perguntando (no meu caso, preciso salvar determinadas configurações, como cores etc. para cada uso do módulo, o que será mais fácil se eu puder criar um novo módulo em vez de apenas acessar php) embora obrigado pela dica.
Serakfalcon

Você pode adicionar mais parâmetros ao módulo e usar esses parâmetros nos seus arquivos php.
Shyam

3

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 você pode instalar na sua instalação do joomla.

Você precisa de mais detalhes sobre como renomear?


Isso funciona até certo ponto, e geralmente é assim que eu começo, mas é insuficiente para lidar com seqüências de idiomas e mídias adicionais instaladas em locais diferentes.
Peter Wiseman

@ PeterWiseman Sim, você está certo, mas é uma maneira fácil e rápida de começar.
Seagul #
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.