it-swarm-es.tech

¿Cómo desarrollar un módulo de Joomla?

He buscado por todas partes un tutorial sobre esto, pero parece que no puedo encontrar nada satisfactorio. ¿Cómo se hace un nuevo módulo para Joomla?

En este momento estoy usando módulos HTML personalizados en todo mi código, y me gustaría poder acceder a PHP y convertirlos a todos en un módulo, pero no he encontrado un tutorial para hacer eso. He modificado los módulos instalados antes pero no sé cómo hacer uno que se instale.

La documentación de Joomla es bastante confusa y después de leerla varias veces me di por vencida. ¿Alguien puede ayudarme a explicar este proceso? ¡Gracias!

10
serakfalcon

Aprendizaje del desarrollo del módulo Joomla

La forma en que aprendí fue estudiando y personalizando el núcleo u otros módulos de terceros.
Los módulos como concepto son más simples que los componentes (que podríamos decir que son 2 aplicaciones front-end/back-end) y están diseñados para mostrar una pieza de información.
Entonces, si abres la carpeta/archivos del módulo y comienzas a leer el código, es probable que entres rápidamente.

Joomla Module Anatomy por ejemplo

Por ejemplo, puede abrir el Módulo de últimos artículos en Joomla 3.2 y verificar su código, mientras lee las líneas a continuación. En la carpeta del módulo encontraremos los 4 archivos básicos:

1. mod_articles_latest.php
2. helper.php
3. tmpl/default.php
4. mod_articles_latest.xml

  1. El mod_articles_latest.php es el archivo principal de los módulos, el que se usa primero cuando se llama al módulo. Inicializa el módulo e incluye el helper.php, Llama al método de clase auxiliar para recuperar datos y finalmente incluye la plantilla del módulo (default.php) Para mostrar los datos.

  2. El archivo helper.php es la "maquinaria" del módulo (si pudiéramos nombrarlo así). En el asistente, creamos la clase del módulo y sus métodos para recuperar los datos. Este es el lugar donde podemos hacer que el módulo "hable" con la base de datos. Al leer el código en el archivo auxiliar de este módulo, verá que contiene ModArticlesLatestHelper Class , que tiene uno Método: getList(&$params).
    Dentro de este método, el módulo verifica la configuración del backend del módulo y, finalmente, crea la lista de los artículos que devolverá, en función de estas condiciones. Tenga en cuenta que este módulo utiliza el método JModelLegacy::getInstance para devolver el Objeto del modelo de contenido .

  3. El default.php es la plantilla principal del módulo y es responsable de mostrar el contenido del módulo. - Aquí construimos la salida html, usando los datos que recuperó previamente en mod_articles_latest.php Llamando a la clase del módulo. Se encuentra dentro de la carpeta tmpl . * Observe que el archivo del módulo principal incluye el archivo de plantilla con el método JModuleHelper::getLayoutPath, que primero verificará cualquier anulación de plantilla.

  4. Finalmente, el mod_articles_latest.xml Lo llamaría como el "embajador" del módulo. Es el archivo que "introduce" el módulo a Joomla durante la instalación, especifica los archivos que serán copiados por el instalador y también contiene información sobre los parámetros del módulo que utiliza el administrador del módulo, así como información adicional. Sobre el módulo.

Estas son las partes esenciales de un módulo básico. Otro aspecto que quizás desee considerar es la compatibilidad con varios idiomas. Esto se puede lograr usando Cadenas de idiomas y archivos de traducción de idiomas . Si hubiera llegado con éxito hasta ese punto, para crear un módulo básico, entonces agregar soporte de idiomas debería ser bastante simple.

17
FFrewin
15
Peter Wiseman

Hemos desarrollado un módulo gratuito para el mismo propósito Personalizado PHP Módulo para Joomla CMS .

Necesita crear un archivo PHP, por ejemplo, login.php en [website-root]/modules/mod_customphp/files

  • Ahora para usar este archivo
  • Vaya a [back-end] -> administrador de módulos
  • Crear nuevo módulo php personalizado
  • En el parámetro includefile poner inicio de sesión
  • Esto representará login.php en el módulo.
3
Shyam

Puede copiar un módulo existente en una instalación local. Luego, renómbralo como quieras. También debe cambiar el nombre de los archivos php y xml, así como los nombres de clase php en el código. Luego, simplemente haga un archivo Zip de su módulo. Este archivo Zip puede instalarlo en su instalación de Joomla.

¿Necesita más detalles sobre el cambio de nombre?

3
seagul