Este artículo pretende explicar el funcionamiento de los Mambots de Joomla 1.0.x (Plugins a partir de Joomla 1.5) para su posterior creación. Se recomienda tener conocimientos de PHP y HTML para leer este artículo.
¿Qué es un Mambots?
Los Mambots son aplicaciones que literalmente interceptan los ítems de contenido (documentos o ítems de componentes) antes de ser mostrados y publicados por el sistema, y le agregan información adicional o lo alteran en forma dinámica, completando así el contenido total que va a ser entregado al navegador del usuario final. Los Mambots pueden ser llamados mediante comandos especiales, o se pueden mostrar de forma predeterminada para ciertos contenidos/componentes.
Los Mambots están en el directorio /mambots. Al igual que los componentes y módulos pueden ser instalados/desinstalados, configurados y publicados desde el panel de administración de Joomla.
Desencadenadores:
En la actualidad existen 5 factores (documentados) desencadenantes para un mambots:
Cada evento requiere de un número y tipo de parámetros.
Ejemplo de un Mambot:
Tal como los módulos, los Mambots se componen de dos archivos básicos. Uno de ellos es el archivo .xml que nos da la configuración de la instalación, y otro es el .php que nos permite codificar lo que hará el mambot. Cabe mencionar que para estandarizar, los archivos del mambot comienzan con “mos”.
¿Qué es un módulo?
Los módulos son pequeños programas que se pueden insertar en cualquier lugar de un sitio que utiliza Joomla.
Dependiendo del template (que es el que maneja toda la parte de visualización) se puede colocar dinámicamente en cualquier lugar del sitio configurándolo desde la administración.
La función de los módulos es básicamente mostrar información corta y especifica, como por ejemplo, datos de usuarios, fecha y hora o temperatura de un lugar en particular. También se pueden linkear a componentes para ser utilizados como submenues de estos.
Archivos Necesarios
Básicamente solo se necesitan de 2 archivos para crear un módulo: Uno es el archivo XML que se utiliza para la instalación y la configuración del modulo dentro del Joomla. El otro es el archivo PHP en si, el que realizará la tarea de mostrarnos los datos en el sitio. Es conveniente respetar la nomenclatura anteponiendo “mod_” al nombre del modulo. A la hora de la instalación esto es esencial.
Actualmente nos encontramos trabajando en el desarrollo de una extensión de código abierto para Joomla 1.5 la cual servirá para agregar funcionalidades de reservas online a cualquier portal implementado sobre el CMS mencionado.
Con esta herramienta los clientes de empresas de los sectores de hotelería, restaurantes, agencias de alquiler de vehículos y todas aquellas que ofrezcan el arrendamiento de un bien o servicio por un tiempo determinado podrán realizar las reservas a través de Internet definiendo el tipo de producto a adquirir y la fecha de inicio y fin de la reserva, incluso también podrán realizar el pago a través de Internet.
Empresas que usen esta herramienta podrán adquirir una presencia fuerte en Internet, extendiendo la oferta de beneficios que brindaran a sus clientes y mejorando su imagen presentándola como activa y moderna.
Facilitará a hoteles, restaurantes, negocios de alquiler de vehículos, entre otros, una:
Entérense de las ultimas novedades del proyecto en www.jreserv.com.
Esta artículo explicará como desarrollar un componente a medida para Joomla en la versión 1.0.x, mostrando los archivos y pasos básicos, así como también algunos métodos útiles tales como acceso a la base de datos, paginar resultados, etc. Se recomienda tener conocimientos de PHP y HTML para leer este artículo.
Estuctura de directorio
Joomla tiene una estructura de directorio dividida en 2 grandes grupos. Administrator, en donde se encuentran todos los archivos necesarios para que funcione el backend y los diferentes directorios que se encuentra en el directorio raíz.
Los directorios que nos interesan son los components, tanto dentro del directorio administrator, como en el raíz, pues aquí es donde se encuentran los archivos correspondiente a cada componente, que a su vez están en subdirectorios de la siguiente forma, com_nombreComponente, ejemplo com_users.
Si queremos ver los archivos correspondientes al componente users, debemos buscarlos en:
Otro directorio importante es el includes, pues dentro de este encontramos archivos que tienen clases que se utilizarán en el componente por ejemplo para la conexión con la base de datos (database.php), datos para manejar usuario, paginado, etc (joomla.php).
Los componentes se almacenan en la base de datos, más precisamente en la tabla jos_components.
Archivos que componen un componente
Un componente para ser instalado debe estar comprimido en un archivo zip con el siguiente formato com_NombreComponente.zip ejemplo com_users.zip.
Este archivo debe tener al menos 8 archivos que se pasaran a describir en breve:
A continuación se describirá cada archivo.
Nos es grato anunciar que hemos finalizado con la etapa de requerimientos del proyecto JReserv. A continuación se detallan las funcionalidades que esperamos implementar en la primer versión.
1 Gestión de Recursos:
El sistema permitirá la gestión de los recursos, permitiendo su alta, baja y modificación. Deberá permitir almacenar en el sistema datos relevante de la misma, entre ellos: titulo, descripción e imágenes.
También se deberá permitir clasificar los recursos de una manera flexible para así permitir que cualquier empresa adapte la herramienta a desarrollar en base a los requerimientos puntuales de la misma. Un recurso estará asociado a una categoría bookable la cual podrá estar asociado a más de una categoría. A su vez, una categoría puede estar clasificada en otras categorías padres. Por ejemplo, tenemos el recurso “Habitación 101″ la cual esta asociada a la categoría bookable “Habitación Doble”, la cual podrá estar asociada a las siguientes categorías: “Hotel Caesar” para identificar a que hotel pertenece y a “Santa Fe” para identificar a que ciudad pertenece. A su vez, la categoría “Hotel Caesar” podrá ser hija de otra categoría llamada “Cadena Emperadores” para identificar a que cadena pertenece el hotel mientras que “Santa Fe” podrá ser hija de “Argentina” para determinar a qué país pertenece la ciudad representada por la categoría.
Una categoría reservable podrá tener asociada uno o más agregados. Estos agregados podrán adquirirse junto con la misma a la hora de realizar la reserva. Por ejemplo, al reservar una “Habitación Doble” podrá optar por agregar a su pedido el agregado “Cena”. Es posible que el agregado impacte en el precio de la reserva.
Gráfico 1: Entidades asociadas con recursos
También se podrán asociar a una categoria bookable o categoría una propiedad que represente sus características. El tener esta información en una entidad aparte permitirá realizar búsquedas entre ellas que tengan características en común. Como ejemplo un recurso “Habitación Doble” podría tener asignadas las propiedades “Jacuzzi”, “Baño Privado”, “Aire Acondicionado”. De esta manera si se está interesado en realizar una reserva de una habitación con Jacuzzi al realizar una búsqueda filtrando por esta propiedad obtendremos un listado de todas las habitaciones que cuentan con esas características permitiéndonos elegir entre ellas.