Blog › Módulos de PrestaShop

Cómo instalar un módulo en PrestaShop 8 sin romper la tienda

Aprende a instalar cualquier módulo en PrestaShop 8 paso a paso, qué comprobar antes de subirlo y cómo actuar si la tienda da un error.

Cómo instalar un módulo en PrestaShop 8 sin romper la tienda

Subir una función nueva a una tienda online debería llevar un par de minutos, pero un archivo incompatible o un fallo oculto pueden dejar la web entera en blanco. Para instalar un módulo de PrestaShop de forma limpia solo hay que seguir un orden concreto y saber exactamente dónde tocar si algo sale mal.

En nuestra joyería online trabajamos a diario con PrestaShop 8 y mantenemos más de una docena de desarrollos propios. Con los años hemos tenido algún susto con pantallas en blanco y módulos que colisionan entre sí, así que este es el protocolo que aplicamos siempre antes de tocar nada en producción.

Antes de subir el archivo: las comprobaciones que te ahorran disgustos

La mayoría de los fallos al añadir funciones no vienen del proceso de instalación, sino de descuidos previos. Antes de tocar el panel de administración, conviene revisar tres puntos básicos:

Si el cambio es grande, lo más seguro es probar primero en una tienda de pruebas. Nosotros usamos una copia exacta de la tienda montada en local para comprobar que todo encaja antes de tocar la web real.

Los pasos para subir un módulo de PrestaShop 8 desde el panel

Un módulo empaquetado para esta plataforma es un archivo comprimido en formato ZIP. Por dentro contiene una carpeta con el mismo nombre, un archivo PHP principal con su clase, ficheros de plantilla con extensión .tpl, hojas de estilo, scripts y traducciones.

El procedimiento estándar para subirlo no requiere usar programas externos:

  1. Entra en el panel de control de tu tienda.
  2. Dirígete a la sección Módulos y entra en Gestor de módulos.
  3. En la esquina superior derecha, pulsa sobre el botón que indica Subir un módulo.
  4. Arrastra el archivo ZIP a la ventana emergente o selecciónalo desde tu ordenador.
  5. Espera a que termine la subida. Cuando finalice el proceso, PrestaShop mostrará un mensaje confirmando la instalación y verás el botón Configurar.

Al pulsar en Configurar accederás a la pantalla propia de ajustes que tenga ese desarrollo. Si el módulo solo añade procesos internos y no necesita opciones manuales, puede que no muestre ese botón.

Nada más terminar, vete a Parámetros avanzados > Rendimiento y pulsa el botón Borrar caché. PrestaShop guarda en memoria las plantillas compiladas y las rutas; si no vacías esa memoria temporal, es posible que los cambios visuales o los textos traducidos no aparezcan de inmediato.

Diferencia entre desactivar, desinstalar y restablecer

Cuando trabajas con módulos de PrestaShop en el gestor, tienes varias opciones disponibles junto a cada elemento. Conviene tener claro qué hace cada una para no perder datos por error:

Acción Qué le ocurre a los archivos Qué le ocurre a los datos y ajustes
Desactivar Se mantienen intactos en el servidor. Se conservan las tablas y la configuración, pero el código deja de ejecutarse en la tienda.
Desinstalar Se mantienen en la carpeta del servidor. Borra sus ajustes y elimina sus tablas en la base de datos (si el módulo está bien programado).
Restablecer Se mantienen los archivos originales. Equivale a desinstalar y volver a instalar: borra la configuración y la devuelve al estado inicial.

Si necesitas comprobar si un problema técnico lo causa un módulo concreto, pulsa únicamente en desactivar. Así evitarás borrar la información que ya tenías configurada.

Por qué el módulo no aparece donde esperabas

Instalas el archivo, el panel dice que todo ha ido bien, pero vas a la tienda y no ves nada. Esto suele ocurrir por la forma en que el sistema ubica los elementos en pantalla.

PrestaShop utiliza hooks, que son puntos de anclaje donde los módulos se enganchan para mostrar contenido o ejecutar acciones. Por ejemplo, displayHome sirve para la portada, displayProductAdditionalInfo muestra bloques cerca del botón de compra en la ficha de producto, y displayFooter sitúa elementos en el pie de página. También hay enganches funcionales sin parte visual, como actionCartSave cuando cambia un carrito o actionValidateOrder cuando entra un pedido.

Si un elemento visual no aparece, revisa estos tres motivos habituales:

El peligro de los overrides

Para añadir funciones avanzadas, algunos desarrolladores recurren a los overrides. Un override es un archivo que sustituye o modifica una clase o un controlador del núcleo del sistema, y se copia dentro del directorio /override/ durante la instalación.

El problema aparece cuando dos módulos distintos intentan modificar el mismo método de la misma clase nativa. En nuestra tienda hemos tenido que lidiar con overrides compartidos en partes delicadas como la gestión del carrito o el despachador de URLs, y cuando colisionan no queda más remedio que fusionar el código a mano con mucho cuidado.

Además, PrestaShop solo copia estos archivos en el momento exacto en que instalas el módulo. Si tiempo después aplicas una actualización del archivo ZIP y el desarrollador ha cambiado el override, el sistema no lo sustituye de forma automática. Siempre que puedas elegir entre dos soluciones similares, opta por la que funcione a través de hooks nativos en lugar de modificaciones por override: su mantenimiento es más limpio.

Qué hacer si la tienda da error 500 o se queda en blanco

Si tras pulsar en instalar la pantalla se queda completamente vacía o el navegador devuelve un error 500, mantén la calma. Tu tienda no se ha borrado; simplemente un archivo ha interrumpido la ejecución de PHP.

Para recuperar el control, sigue estos pasos:

  1. Activa el modo depuración: si todavía puedes entrar al panel de administración, ve a Parámetros avanzados > Rendimiento y pon el Modo depuración en «Sí». Al recargar la página rota, en lugar de una pantalla en blanco verás el mensaje de error exacto con el archivo y la línea que han provocado el corte. También puedes consultar los registros del servidor en la carpeta /var/logs.
  2. Desactiva el módulo por FTP si el panel está bloqueado: si el fallo te impide entrar al propio panel de gestión, conéctate a tu servidor mediante FTP o el gestor de archivos de tu alojamiento. Entra en el directorio /modules/ y busca la carpeta del módulo que acabas de subir. Cámbiale el nombre (por ejemplo, añadiendo _desactivado al final). Al no encontrar la ruta original, PrestaShop dejará de cargarlo al instante y la tienda volverá a estar visible.
  3. Limpia la caché del sistema: una vez recuperada la tienda o retirado el archivo conflictivo, borra de nuevo la caché desde el panel para asegurarte de que el índice de clases del sistema se recompone sin rastros del módulo fallido.

Lo que haríamos nosotros antes de empezar

Si tienes ahora mismo un archivo descargado en tu ordenador y te dispones a subirlo, haz esto en este orden: comprueba primero en la información del desarrollador que tu versión de PHP y de PrestaShop están soportadas. A continuación, accede a tu panel de alojamiento y descarga una copia completa de tu base de datos.

Con esa copia a buen recaudo y las claves de acceso a tu servidor FTP a mano por si hiciera falta renombrar la carpeta en /modules/, ya puedes subir el ZIP desde el gestor. Si sigues esos pasos, cualquier problema que surja se quedará en un susto sin consecuencias y tu catálogo seguirá funcionando sin cortes para tus clientes.