Cuando una web Joomla necesita algo que no trae de serie, la solución es una extensión. Hay tres tipos principales y cada uno sirve para una cosa. Entender la diferencia ayuda a explicar lo que necesitas y a valorar un presupuesto.
Componente: la pieza principal de una página
Un componente es una aplicación dentro de Joomla. Ocupa la zona principal de la página y suele tener su propia sección en la administración, con listados, formularios y opciones.
Ejemplos: los artículos de Joomla son un componente (com_content), igual que una tienda, un directorio de empresas, un sistema de reservas o una bolsa de empleo.
Lo necesitas cuando hay datos propios que gestionar (fichas, inscripciones, pedidos) con sus pantallas de alta, edición y listado.
Módulo: un bloque en una posición
Un módulo es un bloque que se coloca en una posición de la plantilla: la columna lateral, la cabecera, el pie. Puede aparecer en unas páginas sí y en otras no.
Ejemplos: un menú, un buscador, los últimos artículos, un banner, un mapa, un contador o un formulario corto.
Lo necesitas cuando quieres mostrar información en un lugar concreto de la web, a menudo sacada de un componente.
Plugin: actúa sin verse
Un plugin reacciona a eventos: cuando se guarda un artículo, cuando un usuario inicia sesión, cuando se va a mostrar una página. No tiene un lugar en la pantalla; cambia lo que ocurre.
Ejemplos: añadir datos estructurados a las páginas, enviar un aviso a otro sistema cuando entra un pedido, sustituir una etiqueta del texto por un vídeo, iniciar sesión con otra cuenta.
Lo necesitas cuando quieres cambiar el comportamiento de Joomla o conectarlo con otro sistema, sin pantallas nuevas.
Cómo se combinan
Muchos desarrollos usan los tres. Un sistema de reservas, por ejemplo, tendría:
- Un componente para gestionar las reservas y mostrar el calendario.
- Un módulo con un buscador de disponibilidad en la portada.
- Un plugin que envía un correo de recordatorio el día antes.
¿Y las plantillas?
La plantilla define el aspecto: estructura, colores, tipografía. No añade funciones. Si algo de un componente o módulo debe verse distinto, se resuelve con un override de la plantilla, sin tocar la extensión.
A la hora de pedirlo
No hace falta que sepas qué tipo de extensión necesitas: basta con explicar qué quieres conseguir. Pero si un presupuesto habla de “un componente” para algo que podría ser un plugin de cien líneas, merece la pena preguntar por qué.
¿Necesitas ayuda con esto? Es parte de mi servicio de Desarrollo de extensiones Joomla. Cuéntame tu caso.