Píldoras PrestaShop de octubre de 2025: upgrade, facetas y SMTP
Las ideas sueltas de octubre de 2025 en @PrestashopEsp: dónde van los cambios de base de datos de un módulo, por qué un producto sale en la categoría padre, el bloqueo por correo masivo, la compra como invitado y cómo frenar bots por países.
Octubre de 2025 dejó en el grupo consejos de desarrollo, dos avisos legales y varias formas de proteger el servidor. Esto es lo que no dio para una ficha, pero merece la pena guardar.
Los cambios de base de datos de un módulo van en el upgrade, no solo en el install
Un compañero preguntaba dónde aplicar los cambios de tablas de su módulo. Gustavo, de la comunidad, lo resumió: el install es para todo lo que necesita una instalación nueva (hooks, rutas, tablas, configuración, carpetas), con la tabla ya completa. Las tiendas que ya tienen el módulo necesitan un fichero en upgrade/ con el ALTER TABLE para su versión. Si el upgrade no se ejecuta solo, hay que pulsar «Actualizar» en el listado de módulos. Gustavo confesó que a veces aplica cambios desde getContent() por costumbre, pero lo correcto es el upgrade.
Cientos de correos desde la cuenta de la oficina: bloqueo asegurado
A un cliente de Gustavo lo marcaron como spam por enviar varios cientos de correos desde la oficina. Otro miembro contó que a él Office 365 le bloqueó 30 días por pasar de unos 50 envíos seguidos, y que ni su proveedor pudo hacer nada. Para envíos masivos, usa un servicio de envío transaccional o de relay con SPF y DKIM configurados, y deja la cuenta de la oficina para el correo del día a día.
Un producto sale en la categoría padre aunque no esté asociado
Una compañera estaba convencida de que, si un producto solo está en «Botas», no sale en «Calzado». Al probarlo, sí salía. La explicación la dio Gustavo: el módulo de búsqueda por facetas tiene una opción para mostrar los productos de las subcategorías. Si quieres que en cada categoría salgan solo los productos asociados a ella, desactívala en la configuración del módulo y vuelve a indexar.
Compra como invitado: más problemas que ventajas
Rekire lo resumió así: la gente activa la compra como invitado porque lo dicen todas las guías de UX, pero en la práctica da problemas: el cliente no tiene acceso a su historial de pedidos ni a sus facturas. Otro desarrollador añadió un detalle: cuando el invitado se convierte después en cliente, solo se le asocia el último pedido; los anteriores quedan sueltos. Una alternativa que se comentó: el inicio de sesión con Google, que es un registro igualmente, pero sin escribir contraseña.
Precios distintos por país en la UE: mira el reglamento de geobloqueo
Un cliente de Gustavo quería precios distintos según el país del comprador. Gustavo le dijo que no era legal; su gestor, que no había problema. La norma a mirar es el Reglamento (UE) 2018/302: impide tratar distinto a un cliente de la UE por su nacionalidad o su lugar de residencia, por ejemplo bloqueándole el acceso o aplicándole otras condiciones generales. No prohíbe tener precios distintos en tiendas pensadas para cada país, siempre que cualquier cliente de la UE pueda comprar en cualquiera de ellas en las mismas condiciones que los de ese país. Así que, en parte, los dos tenían razón. Antes de montar tarifas por país, pásale el caso concreto a alguien que conozca la norma.
La AEPD y el enlace permanente para cambiar el consentimiento
Gustavo siguió el caso de una web, ya sancionada, que no tenía un enlace permanente para cambiar el consentimiento de cookies. Tras una segunda denuncia, la AEPD les envió otro aviso, y esta vez lo pusieron. La lección: el usuario tiene que poder retirar o cambiar su consentimiento en cualquier momento, con un enlace o botón siempre visible, no solo en el banner del primer día.
Bots de Asia que tumban el servidor: bloqueo por países
A un cliente de Gustavo le consultaban la web desde medio Asia. Tras cambiarlo de servidor, bloqueó China y Rusia en el cortafuegos CSF, pero no Singapur, y el servidor cayó esa misma tarde. Al añadir Singapur y otros países de la zona se acabaron los consumos exagerados. Bloquear en el cortafuegos corta la petición antes de llegar a PrestaShop. Si lo haces, asegúrate de no bloquear a tus clientes, a tu pasarela de pago ni a los rastreadores de Google.
Un hook al principio de cada página en lugar de un override
Gustavo compartió un hook que le está sirviendo para no hacer overrides: actionFrontControllerInitBefore, disponible desde PrestaShop 1.7.7. Se ejecuta al empezar a cargar cualquier página del front. Él lo usa para detectar cuándo se está añadiendo un descuento al carrito y bloquearlo según ciertas condiciones, cosa que antes habría resuelto sobrescribiendo un controlador. Cuantos menos overrides, menos sustos al actualizar.
Copias en un NAS propio, y otra fuera
Un compañero hizo números: un NAS doméstico con un disco consume unos 20 W, unos 3,4 € de luz al mes. Recomendaba BorgBackup, que deduplica y reduce lo que subes, y rclone para mandar una copia a un almacenamiento externo en la nube. Gustavo apuntó la otra cara: tener las copias en tu oficina no tiene precio, salvo que se queme la oficina. Por eso, siempre, una copia más fuera.
Esto salió en @PrestashopEsp, la mayor comunidad PrestaShop de España en Telegram. Ver la conversación