SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Desarrollar un módulo para
Joomla
Un módulo es un elemento de contenido que puede ser situado junto
a un artículo. Por ejemplo, un menú es un módulo. El pequeño bloque
de registro de la parte izquierda, también es un módulo. Puedes crear
tantos módulos como quieras, y colocarlos en distintas áreas
predefinidas de la plantilla.En este tutorial se explica cómo crear un
módulo simple. A través del cual, aprenderá la estructura básica de
archivos de un módulo. Esta estructura básica puede ser ampliada
para producir módulos más elaborados.
Todo el contenido expuesto en este artículo, está extraído y traducido de la
documentación que la comunidad de Joomla! ofrece íntegramente en inglés
en su sección para desarrolladores. Para más información siga este enlace.
– Estructura de archivos
• Hay cuatro archivos básicos que se utilizan dentro del patrón estándar en
el desarrollo de un módulo:
• mod_author_related.php - Este archivo es el principal punto de entrada
para el módulo. Se llevarán a cabo las rutinas de inicialización necesarias,
llamar a las rutinas auxiliares para recoger todos los datos necesarios, e
incluir la plantilla que muestra la salida del módulo.
• mod_author_related.xml - Este archivo contiene información acerca del
módulo. En él se definen los archivos que necesitan ser instalados por el
instalador de Joomla! y especifica los parámetros de configuración del
módulo.
• helper.php - Este archivo contiene la clase helper que se utiliza para hacer
el trabajo real en la recuperación de la información que se muestra en el
módulo (por lo general a partir de la base de datos o alguna otra fuente).
• tmpl / default.php - Esta es la plantilla del módulo. Este archivo tomará los
datos recogidos por el mod_author_related.php y generará el código
HTML que se muestra en la página.
Creación del mod_author_related.php
El archivo mod_author_related.php llevará a cabo tres tareas:
Incluir el archivo helper.php que contiene la clase que se utiliza para recoger los datos necesarios.
Invocar el método apropiado para recuperar los datos.
Incluir la plantilla para mostrar la salida.
Siguiendo estos tres puntos, vamos a colocar un poco de código en nuestro archivo. La clase
helper está definida en nuestro archivo helper.php . Este archivo se incluye con la declaración
require_once .
require_once dirname(__FILE__).'/helper.php'; require_once se utiliza porque nuestras funciones
auxiliares se definen dentro de una clase, y sólo queremos la clase definida, una vez.
Para invocar a nuestro método utilizaremos las siguientes líneas:
$cacheparams = new stdClass;
$cacheparams->class = 'modAuthorRelatedHelper';
$cacheparams->method = 'authorRelated';
$list = JModuleHelper::moduleCache ($module, $params, $cacheparams);
Y para incluir la plantilla que muestra el HTML de nuestro módulo, usamos está línea:
require JModuleHelper::getLayoutPath('mod_author_related', $params->get('layout', 'default'));
Visto esto, nuestro archivo mod_author_related.php completo
es el siguiente:
<?php
// No permitir el acceso directo al archivo
defined('_JEXEC') or die;
// Incluye las funciones sólo una vez
require_once dirname(__FILE__).'/helper.php';
// Invocar el método apropiado
$cacheparams = new stdClass;
$cacheparams->cachemode = 'safeuri';
$cacheparams->class = 'modAuthorRelatedHelper';
$cacheparams->method = 'authorRelated';
$cacheparams->methodparams = $params;
$cacheparams->modeparams = array('id'=>'int', 'Itemid'=>'int');
$list = JModuleHelper::moduleCache ($module, $params, $cacheparams);
if (!count($list)) {
return;
}
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));
$showDate = $params->get('showDate', 0);
// Incluir la plantilla que mostrará los datos recogidos
require JModuleHelper::getLayoutPath('mod_author_related', $params->get('layout', 'default'));
Creación del mod_author_related.xml
• El mod_author_related.xml se utiliza para especificar los archivos que el
instalador tiene que copiar, y sean usados por el gestor de módulos para
determinar qué parámetros se utilizan para configurar el módulo. Otras
informaciones sobre el módulo también se especifica en este archivo.
El código para mod_author_related.xml es lo podéis descargar más tarde
• Como podrán darse cuenta es un archivo XML como cualquier otro en
Joomla!. Pero considero importante resaltar, que existen módulos tanto
para la administración, como para la interfaz de usuario, por lo que es
necesario definir en nuestro archivo XML, a donde va a pertenecer el
módulo. En nuestro caso creamos un módulo para la interfaz de usuario,
por lo que lo especificamos incluyendo, client="site" .
• Como podrán darse cuenta hemos usado para el idioma de
nuestro módulo, algunas constantes que necesitan que le
añadamos valores. Estos valores se los damos precisamente
en los archivos de lenguaje especificados en el XML. Como
no hemos creado estos archivos, pues nos ponemos en ello
y le añadimos lo siguiente:
• es-ES.mod_author_related.ini
• MOD_AUTHOR_FIELD_SHOWDATE_DESC="Mostrar /
Ocultar Fecha"
MOD_AUTHOR_FIELD_SHOWDATE_LABEL="Mostrar fecha"
en-GB.mod_author_related.ini
• MOD_AUTHOR_FIELD_SHOWDATE_DESC="Show/Hide
Date" MOD_AUTHOR_FIELD_SHOWDATE_LABEL="Show
Date"
• Y con esto hemos logrado que nuestro módulo esté en diferentes
idiomas.
• Te darás cuenta de que hay dos archivos adicionales que aún no hemos
mencionado: index.html y tmpl / index.html. Estos archivos se
incluyen para que no se pueda acceder directamente a estas carpetas
o directorios. Si un usuario intenta apuntar su navegador a estas
carpetas, el archivo index.html se mostrará. Estos archivos se pueden
dejar vacíos o contener esta simple línea:
• <html><body bgcolor="#FFFFFF"></body></html> Con esto hemos
completado nuestro directorio del módulo, el cual deberá tener los
siguientes archivos:
• mod_author_related.php
• mod_author_related.xml
• helper.php
• index.html
• en-GB.mod_author_related.ini
• es-ES.mod_author_related.ini
• tmpl / default.php
• tmpl / index.html
• Ahora solo nos resta instalar y probar. Para
esto empaquetamos nuestro módulo en un
.zip y lo instalamos a través del gestor de
extensiones de Joomla!. También recuerda,
que puedes descargar el módulo
directamente, solo sigue hasta el final del
artículo donde vera el enlace a la descarga. A
continuación les mostramos algunas imágenes
del proceso de instalación y funcionamiento
del módulo.
Instalamos el módulo a través del
gestor de extensiones de Joomla!
Accedemos al gestor de módulos y localizamos el módulo recién
instalado. Le damos clic, para configurarlo.
• Aquí configuramos nuestro módulo, nombre, posición, etc. Si te fijas también, a la
derecha están los parámetros que hemos puesto en nuestro archivo XML, por
ejemplo, el de mostrar o no junto al título del artículo su fecha.
• Una vez publicado el módulo accedemos al sitio para visualizarlo. Como
puedes apreciar, no lo vemos por ninguna parte, esto es porque, este
módulo está configurado para salir, solo si hemos entrado en algún
artículo. Esto debe ser así, ya que una vez entrado en un artículo podemos
ver el autor del mismo, y a partir de ahí sacar otros artículos creados por
él y mostrarlos. Por tanto, entramos en un artículo para lograr ver al fin
nuestro módulo.
• Como puedes apreciar hemos entrado en el artículo, y a la parte
derecha tenemos un listado de todos los artículo del autor. Por
supuesto que "TODOS" los artículos es una locura, ya que como en
este caso la lista es bastante extensa. Por lo que le pueden seguir
añadiendo más cosas al módulo y ponerlo de acorde a sus
necesidades, ya que lo principal en la creación de un módulo para
Joomla! 2.5 está puesto.

Más contenido relacionado

La actualidad más candente

Guiadeiniciorapidoparaelusuariode joomla1.5
Guiadeiniciorapidoparaelusuariode joomla1.5Guiadeiniciorapidoparaelusuariode joomla1.5
Guiadeiniciorapidoparaelusuariode joomla1.5Digital Pymes
 
Joomla Curso Noviembre
Joomla Curso NoviembreJoomla Curso Noviembre
Joomla Curso Noviembrejomyto
 
Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...
Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...
Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...Reynaldo Morillo
 
Joomla cms primeros pasos para administrar contenidos en la web
Joomla cms primeros pasos para administrar contenidos en la webJoomla cms primeros pasos para administrar contenidos en la web
Joomla cms primeros pasos para administrar contenidos en la webxsolca
 
Joomla! 1.5 Para Principiantes
Joomla! 1.5 Para PrincipiantesJoomla! 1.5 Para Principiantes
Joomla! 1.5 Para PrincipiantesLuis Barriocanal
 
Joomla Curso Noviembre
Joomla Curso NoviembreJoomla Curso Noviembre
Joomla Curso NoviembreÁngel Puente
 
Presentacion de joomla_completa
Presentacion de joomla_completaPresentacion de joomla_completa
Presentacion de joomla_completaMjP86
 
Creando módulos en Drupal 7
Creando módulos en Drupal 7Creando módulos en Drupal 7
Creando módulos en Drupal 7Edgar Dueñas
 
Producto 4 programacion web
Producto 4 programacion webProducto 4 programacion web
Producto 4 programacion webEdgar Chacha
 
Joomla!Day Spain Barcelona, Joomla! para todo tipo de proyectos
Joomla!Day Spain Barcelona, Joomla! para todo tipo de proyectosJoomla!Day Spain Barcelona, Joomla! para todo tipo de proyectos
Joomla!Day Spain Barcelona, Joomla! para todo tipo de proyectosJordi Catà
 
Guiadeiniciorapidoparaelusuariode joomla1.5
Guiadeiniciorapidoparaelusuariode joomla1.5Guiadeiniciorapidoparaelusuariode joomla1.5
Guiadeiniciorapidoparaelusuariode joomla1.5alfredorvr07
 

La actualidad más candente (18)

Qué es joomla
Qué es joomlaQué es joomla
Qué es joomla
 
Curso Joomla
Curso JoomlaCurso Joomla
Curso Joomla
 
Joomla
JoomlaJoomla
Joomla
 
Guiadeiniciorapidoparaelusuariode joomla1.5
Guiadeiniciorapidoparaelusuariode joomla1.5Guiadeiniciorapidoparaelusuariode joomla1.5
Guiadeiniciorapidoparaelusuariode joomla1.5
 
Joomla Curso Noviembre
Joomla Curso NoviembreJoomla Curso Noviembre
Joomla Curso Noviembre
 
Curso iniciacion-joomla-3.3-oklan
Curso iniciacion-joomla-3.3-oklanCurso iniciacion-joomla-3.3-oklan
Curso iniciacion-joomla-3.3-oklan
 
Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...
Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...
Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...
 
Joomla cms primeros pasos para administrar contenidos en la web
Joomla cms primeros pasos para administrar contenidos en la webJoomla cms primeros pasos para administrar contenidos en la web
Joomla cms primeros pasos para administrar contenidos en la web
 
Joomla! 1.5 Para Principiantes
Joomla! 1.5 Para PrincipiantesJoomla! 1.5 Para Principiantes
Joomla! 1.5 Para Principiantes
 
Joomla Curso Noviembre
Joomla Curso NoviembreJoomla Curso Noviembre
Joomla Curso Noviembre
 
Joomla Basico
Joomla BasicoJoomla Basico
Joomla Basico
 
Presentacion de joomla_completa
Presentacion de joomla_completaPresentacion de joomla_completa
Presentacion de joomla_completa
 
Cuestionario joomla
Cuestionario joomlaCuestionario joomla
Cuestionario joomla
 
Creando módulos en Drupal 7
Creando módulos en Drupal 7Creando módulos en Drupal 7
Creando módulos en Drupal 7
 
¿Qué es Joomla?
¿Qué es Joomla?¿Qué es Joomla?
¿Qué es Joomla?
 
Producto 4 programacion web
Producto 4 programacion webProducto 4 programacion web
Producto 4 programacion web
 
Joomla!Day Spain Barcelona, Joomla! para todo tipo de proyectos
Joomla!Day Spain Barcelona, Joomla! para todo tipo de proyectosJoomla!Day Spain Barcelona, Joomla! para todo tipo de proyectos
Joomla!Day Spain Barcelona, Joomla! para todo tipo de proyectos
 
Guiadeiniciorapidoparaelusuariode joomla1.5
Guiadeiniciorapidoparaelusuariode joomla1.5Guiadeiniciorapidoparaelusuariode joomla1.5
Guiadeiniciorapidoparaelusuariode joomla1.5
 

Destacado

Destacado (20)

S1
S1S1
S1
 
Anteproyecto final skate
Anteproyecto final skateAnteproyecto final skate
Anteproyecto final skate
 
Los mejores diseños web vistos últimamente
Los mejores diseños web vistos últimamenteLos mejores diseños web vistos últimamente
Los mejores diseños web vistos últimamente
 
Margaret mead __antropologia_la_ciencia_del_hombre
Margaret mead __antropologia_la_ciencia_del_hombreMargaret mead __antropologia_la_ciencia_del_hombre
Margaret mead __antropologia_la_ciencia_del_hombre
 
Análisis critico
Análisis criticoAnálisis critico
Análisis critico
 
MOTION PICS
MOTION PICSMOTION PICS
MOTION PICS
 
Examen on line junior
Examen on line  juniorExamen on line  junior
Examen on line junior
 
Healthcare in bavaria_deutsch
Healthcare in bavaria_deutschHealthcare in bavaria_deutsch
Healthcare in bavaria_deutsch
 
Singaña vanessa (1)
Singaña vanessa  (1)Singaña vanessa  (1)
Singaña vanessa (1)
 
Almacenamiento de informacion
Almacenamiento de informacionAlmacenamiento de informacion
Almacenamiento de informacion
 
Desafíos de la Educación siglo XXI
Desafíos de la Educación siglo XXIDesafíos de la Educación siglo XXI
Desafíos de la Educación siglo XXI
 
Ritmica vilaroja
Ritmica vilarojaRitmica vilaroja
Ritmica vilaroja
 
Report in history-PAGLALAYAG NI MAGELLAN
Report in history-PAGLALAYAG NI MAGELLANReport in history-PAGLALAYAG NI MAGELLAN
Report in history-PAGLALAYAG NI MAGELLAN
 
CV ALDO SAAVEDRA
CV ALDO SAAVEDRACV ALDO SAAVEDRA
CV ALDO SAAVEDRA
 
web 2.0 clases Rosmary uptaeb
web 2.0 clases Rosmary uptaebweb 2.0 clases Rosmary uptaeb
web 2.0 clases Rosmary uptaeb
 
Gbi crica
Gbi cricaGbi crica
Gbi crica
 
Propuesta
Propuesta Propuesta
Propuesta
 
Examen on line i ijunior
Examen on line i ijuniorExamen on line i ijunior
Examen on line i ijunior
 
E82 zafac010 _application-io pt fif module__v5-0__de_en_fr
E82 zafac010 _application-io pt fif module__v5-0__de_en_frE82 zafac010 _application-io pt fif module__v5-0__de_en_fr
E82 zafac010 _application-io pt fif module__v5-0__de_en_fr
 
MODELOS DE NEGOCIACIONES ELECTRONICAS
MODELOS DE NEGOCIACIONES ELECTRONICASMODELOS DE NEGOCIACIONES ELECTRONICAS
MODELOS DE NEGOCIACIONES ELECTRONICAS
 

Similar a Desarrollar un módulo para joomla

Desarrollo rápido de páginas web con Joomla!
Desarrollo rápido de páginas web con Joomla!Desarrollo rápido de páginas web con Joomla!
Desarrollo rápido de páginas web con Joomla!Remigio Salvador Sánchez
 
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...SergioIglesiasNET
 
Joomla! Curso Noviembre
Joomla! Curso NoviembreJoomla! Curso Noviembre
Joomla! Curso NoviembreÁngel Puente
 
Manual de-joomla-spanish
Manual de-joomla-spanishManual de-joomla-spanish
Manual de-joomla-spanishjaselyMartinez
 
Primeros pasos con Joomla, la primera.net Licencia C.C
Primeros pasos con Joomla, la primera.net Licencia C.CPrimeros pasos con Joomla, la primera.net Licencia C.C
Primeros pasos con Joomla, la primera.net Licencia C.CBrox Technology
 
J!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoJ!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoSergioIglesiasNET
 
08 Joomla. E Joomlatensiones
08 Joomla. E Joomlatensiones08 Joomla. E Joomlatensiones
08 Joomla. E JoomlatensionesJosé M. Padilla
 
Clase practica joomla
Clase practica joomlaClase practica joomla
Clase practica joomlahectorabrego
 
Adapting HTML and CSS Templates to XOOPS
Adapting HTML and CSS Templates to XOOPSAdapting HTML and CSS Templates to XOOPS
Adapting HTML and CSS Templates to XOOPSxoopsproject
 
Adapting HTML and CSS Templates to XOOPS CMS
Adapting HTML and CSS Templates to XOOPS CMSAdapting HTML and CSS Templates to XOOPS CMS
Adapting HTML and CSS Templates to XOOPS CMSxoops
 
Manual Admon Contenidos Joomla 1.5 V2 Gen
Manual Admon Contenidos Joomla 1.5 V2 GenManual Admon Contenidos Joomla 1.5 V2 Gen
Manual Admon Contenidos Joomla 1.5 V2 GenKnowldedge Factory
 
Presentación Joomla La Almunia
Presentación Joomla La AlmuniaPresentación Joomla La Almunia
Presentación Joomla La Almuniacpralmunia
 
Aula virtual en Papás 2.0: de eXe a Moodle
Aula virtual en Papás 2.0: de eXe a MoodleAula virtual en Papás 2.0: de eXe a Moodle
Aula virtual en Papás 2.0: de eXe a MoodleCRAER de Molina
 

Similar a Desarrollar un módulo para joomla (20)

Desarrollo rápido de páginas web con Joomla!
Desarrollo rápido de páginas web con Joomla!Desarrollo rápido de páginas web con Joomla!
Desarrollo rápido de páginas web con Joomla!
 
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
 
Joomla! Curso Noviembre
Joomla! Curso NoviembreJoomla! Curso Noviembre
Joomla! Curso Noviembre
 
Manual de-joomla-spanish
Manual de-joomla-spanishManual de-joomla-spanish
Manual de-joomla-spanish
 
Primeros pasos con Joomla, la primera.net Licencia C.C
Primeros pasos con Joomla, la primera.net Licencia C.CPrimeros pasos con Joomla, la primera.net Licencia C.C
Primeros pasos con Joomla, la primera.net Licencia C.C
 
J!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoJ!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas Avanzado
 
08 Joomla. E Joomlatensiones
08 Joomla. E Joomlatensiones08 Joomla. E Joomlatensiones
08 Joomla. E Joomlatensiones
 
Clase practica joomla
Clase practica joomlaClase practica joomla
Clase practica joomla
 
Manual del desarrollador
Manual del desarrolladorManual del desarrollador
Manual del desarrollador
 
Vistiendo a WordPress
Vistiendo a WordPressVistiendo a WordPress
Vistiendo a WordPress
 
Manual cms joomla
Manual cms joomlaManual cms joomla
Manual cms joomla
 
Manual cms joomla
Manual cms joomlaManual cms joomla
Manual cms joomla
 
Cuestionario joomlas
Cuestionario joomlasCuestionario joomlas
Cuestionario joomlas
 
Adapting HTML and CSS Templates to XOOPS
Adapting HTML and CSS Templates to XOOPSAdapting HTML and CSS Templates to XOOPS
Adapting HTML and CSS Templates to XOOPS
 
Adapting HTML and CSS Templates to XOOPS CMS
Adapting HTML and CSS Templates to XOOPS CMSAdapting HTML and CSS Templates to XOOPS CMS
Adapting HTML and CSS Templates to XOOPS CMS
 
Manual Admon Contenidos Joomla 1.5 V2 Gen
Manual Admon Contenidos Joomla 1.5 V2 GenManual Admon Contenidos Joomla 1.5 V2 Gen
Manual Admon Contenidos Joomla 1.5 V2 Gen
 
Presentación Joomla La Almunia
Presentación Joomla La AlmuniaPresentación Joomla La Almunia
Presentación Joomla La Almunia
 
Curso joomla-3
Curso joomla-3Curso joomla-3
Curso joomla-3
 
Aula virtual en Papás 2.0: de eXe a Moodle
Aula virtual en Papás 2.0: de eXe a MoodleAula virtual en Papás 2.0: de eXe a Moodle
Aula virtual en Papás 2.0: de eXe a Moodle
 
Cms joobla
Cms jooblaCms joobla
Cms joobla
 

Último

FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfluisantoniocruzcorte1
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 

Último (20)

FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 

Desarrollar un módulo para joomla

  • 1. Desarrollar un módulo para Joomla Un módulo es un elemento de contenido que puede ser situado junto a un artículo. Por ejemplo, un menú es un módulo. El pequeño bloque de registro de la parte izquierda, también es un módulo. Puedes crear tantos módulos como quieras, y colocarlos en distintas áreas predefinidas de la plantilla.En este tutorial se explica cómo crear un módulo simple. A través del cual, aprenderá la estructura básica de archivos de un módulo. Esta estructura básica puede ser ampliada para producir módulos más elaborados.
  • 2. Todo el contenido expuesto en este artículo, está extraído y traducido de la documentación que la comunidad de Joomla! ofrece íntegramente en inglés en su sección para desarrolladores. Para más información siga este enlace. – Estructura de archivos • Hay cuatro archivos básicos que se utilizan dentro del patrón estándar en el desarrollo de un módulo: • mod_author_related.php - Este archivo es el principal punto de entrada para el módulo. Se llevarán a cabo las rutinas de inicialización necesarias, llamar a las rutinas auxiliares para recoger todos los datos necesarios, e incluir la plantilla que muestra la salida del módulo. • mod_author_related.xml - Este archivo contiene información acerca del módulo. En él se definen los archivos que necesitan ser instalados por el instalador de Joomla! y especifica los parámetros de configuración del módulo. • helper.php - Este archivo contiene la clase helper que se utiliza para hacer el trabajo real en la recuperación de la información que se muestra en el módulo (por lo general a partir de la base de datos o alguna otra fuente). • tmpl / default.php - Esta es la plantilla del módulo. Este archivo tomará los datos recogidos por el mod_author_related.php y generará el código HTML que se muestra en la página.
  • 3. Creación del mod_author_related.php El archivo mod_author_related.php llevará a cabo tres tareas: Incluir el archivo helper.php que contiene la clase que se utiliza para recoger los datos necesarios. Invocar el método apropiado para recuperar los datos. Incluir la plantilla para mostrar la salida. Siguiendo estos tres puntos, vamos a colocar un poco de código en nuestro archivo. La clase helper está definida en nuestro archivo helper.php . Este archivo se incluye con la declaración require_once . require_once dirname(__FILE__).'/helper.php'; require_once se utiliza porque nuestras funciones auxiliares se definen dentro de una clase, y sólo queremos la clase definida, una vez. Para invocar a nuestro método utilizaremos las siguientes líneas: $cacheparams = new stdClass; $cacheparams->class = 'modAuthorRelatedHelper'; $cacheparams->method = 'authorRelated'; $list = JModuleHelper::moduleCache ($module, $params, $cacheparams); Y para incluir la plantilla que muestra el HTML de nuestro módulo, usamos está línea: require JModuleHelper::getLayoutPath('mod_author_related', $params->get('layout', 'default'));
  • 4. Visto esto, nuestro archivo mod_author_related.php completo es el siguiente: <?php // No permitir el acceso directo al archivo defined('_JEXEC') or die; // Incluye las funciones sólo una vez require_once dirname(__FILE__).'/helper.php'; // Invocar el método apropiado $cacheparams = new stdClass; $cacheparams->cachemode = 'safeuri'; $cacheparams->class = 'modAuthorRelatedHelper'; $cacheparams->method = 'authorRelated'; $cacheparams->methodparams = $params; $cacheparams->modeparams = array('id'=>'int', 'Itemid'=>'int'); $list = JModuleHelper::moduleCache ($module, $params, $cacheparams); if (!count($list)) { return; } $moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx')); $showDate = $params->get('showDate', 0); // Incluir la plantilla que mostrará los datos recogidos require JModuleHelper::getLayoutPath('mod_author_related', $params->get('layout', 'default'));
  • 5. Creación del mod_author_related.xml • El mod_author_related.xml se utiliza para especificar los archivos que el instalador tiene que copiar, y sean usados por el gestor de módulos para determinar qué parámetros se utilizan para configurar el módulo. Otras informaciones sobre el módulo también se especifica en este archivo. El código para mod_author_related.xml es lo podéis descargar más tarde • Como podrán darse cuenta es un archivo XML como cualquier otro en Joomla!. Pero considero importante resaltar, que existen módulos tanto para la administración, como para la interfaz de usuario, por lo que es necesario definir en nuestro archivo XML, a donde va a pertenecer el módulo. En nuestro caso creamos un módulo para la interfaz de usuario, por lo que lo especificamos incluyendo, client="site" .
  • 6. • Como podrán darse cuenta hemos usado para el idioma de nuestro módulo, algunas constantes que necesitan que le añadamos valores. Estos valores se los damos precisamente en los archivos de lenguaje especificados en el XML. Como no hemos creado estos archivos, pues nos ponemos en ello y le añadimos lo siguiente: • es-ES.mod_author_related.ini • MOD_AUTHOR_FIELD_SHOWDATE_DESC="Mostrar / Ocultar Fecha" MOD_AUTHOR_FIELD_SHOWDATE_LABEL="Mostrar fecha" en-GB.mod_author_related.ini • MOD_AUTHOR_FIELD_SHOWDATE_DESC="Show/Hide Date" MOD_AUTHOR_FIELD_SHOWDATE_LABEL="Show Date"
  • 7. • Y con esto hemos logrado que nuestro módulo esté en diferentes idiomas. • Te darás cuenta de que hay dos archivos adicionales que aún no hemos mencionado: index.html y tmpl / index.html. Estos archivos se incluyen para que no se pueda acceder directamente a estas carpetas o directorios. Si un usuario intenta apuntar su navegador a estas carpetas, el archivo index.html se mostrará. Estos archivos se pueden dejar vacíos o contener esta simple línea: • <html><body bgcolor="#FFFFFF"></body></html> Con esto hemos completado nuestro directorio del módulo, el cual deberá tener los siguientes archivos: • mod_author_related.php • mod_author_related.xml • helper.php • index.html • en-GB.mod_author_related.ini • es-ES.mod_author_related.ini • tmpl / default.php • tmpl / index.html
  • 8. • Ahora solo nos resta instalar y probar. Para esto empaquetamos nuestro módulo en un .zip y lo instalamos a través del gestor de extensiones de Joomla!. También recuerda, que puedes descargar el módulo directamente, solo sigue hasta el final del artículo donde vera el enlace a la descarga. A continuación les mostramos algunas imágenes del proceso de instalación y funcionamiento del módulo.
  • 9. Instalamos el módulo a través del gestor de extensiones de Joomla!
  • 10. Accedemos al gestor de módulos y localizamos el módulo recién instalado. Le damos clic, para configurarlo.
  • 11. • Aquí configuramos nuestro módulo, nombre, posición, etc. Si te fijas también, a la derecha están los parámetros que hemos puesto en nuestro archivo XML, por ejemplo, el de mostrar o no junto al título del artículo su fecha.
  • 12. • Una vez publicado el módulo accedemos al sitio para visualizarlo. Como puedes apreciar, no lo vemos por ninguna parte, esto es porque, este módulo está configurado para salir, solo si hemos entrado en algún artículo. Esto debe ser así, ya que una vez entrado en un artículo podemos ver el autor del mismo, y a partir de ahí sacar otros artículos creados por él y mostrarlos. Por tanto, entramos en un artículo para lograr ver al fin nuestro módulo.
  • 13. • Como puedes apreciar hemos entrado en el artículo, y a la parte derecha tenemos un listado de todos los artículo del autor. Por supuesto que "TODOS" los artículos es una locura, ya que como en este caso la lista es bastante extensa. Por lo que le pueden seguir añadiendo más cosas al módulo y ponerlo de acorde a sus necesidades, ya que lo principal en la creación de un módulo para Joomla! 2.5 está puesto.