Dónde colocar el código en los módulos de Joomla


8

Al desarrollar una extensión de Joomla, ¿existen mejores prácticas, pautas o recomendaciones sobre dónde colocar las diferentes partes de mi código (PHP y HTML)?

Estoy pensando principalmente en los archivos básicos incluidos en un módulo:

mod_mymodule.php
helper.php
tmpl/default.php

Además, ¿cuáles son los principales beneficios de incluir un helper.phparchivo? ¿Se puede eliminar en algunos casos?


También puede encontrar buena información aquí: ¿Cómo hacer un nuevo módulo?
FFrewin

Respuestas:


7

helper.php:

Este archivo es donde deben ir todas las funciones que pertenecen a una clase. Básicamente es la versión del módulo de un modelo para un componente, por lo que tareas como realizar consultas a la base de datos, etc. Los beneficios de este archivo es que mantiene toda la funcionalidad central en 1 ubicación. Si un módulo ya contiene este archivo, 1 regla simple, no lo elimine.

mod_mymodule.php:

Como @ subashbasnet8 ya ha mencionado, este archivo es donde puede llamar a sus funciones y también es un buen lugar para obtener los parámetros del módulo y definirlos como una variable. También debe hacer cosas como obtener sus POSTvariables aquí. El marcado HTML no debe pertenecer a este archivo.

default.php:

Este archivo debe contener todo su marcado HTML simplemente porque permitirá que el usuario (o incluso el suyo) lo anule, que es algo que no puede hacer con los otros 2 archivos. También cosas como la importación de bibliotecas CSS / JS también deberían entrar aquí, nuevamente, para que se puedan realizar modificaciones.


5

Básicamente, mod_mymodule.php es una página de arranque de su módulo. Aquí incluirá el archivo auxiliar y llamará a la función necesaria que reside en helper.php. puede poner código HTML en la página tmpl / default.php y código php en la página auxiliar y mod_mymodule.php.

Para más detalles por favor vea esto . Gracias.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.