Sin impuesto Con impuesto

Píldoras PrestaShop de septiembre de 2024: correo, cron y hooks

Las ideas sueltas de septiembre de 2024 en @PrestashopEsp: cron cuando el hosting no deja, réplicas de MySQL frente a caché, la referencia del pedido, widgets de pago que ralentizan y hooks antes que overrides.

Equipo Rekire
Actualizado: 30/09/2024 8
Píldoras PrestaShop de septiembre de 2024: correo, cron y hooks
Compartir:

Septiembre de 2024 en el grupo: dudas de base de datos, rendimiento, desarrollo de módulos y alguna lección sobre el trato con clientes.

Si tu hosting no te deja programar tareas cron

A un cliente de Gustavo le dijeron desde su hosting que no podía tener tareas cron sin pasarse a un servidor dedicado. En el grupo salieron dos salidas: usar un servicio externo de cron que llame a la URL de la tarea a la hora que digas, o lanzarla desde otro servidor tuyo y facturarlo como servicio. Y una tercera, medio en broma: cambiar de hosting. Si la tarea se lanza llamando a una URL desde fuera, que lleve un token secreto, para que nadie más pueda ejecutarla.

Ver en Telegram

La réplica de MySQL no fue lo que aceleró la tienda

Gustavo preguntó por una recomendación de la documentación de rendimiento de PrestaShop: usar una instancia de MySQL para escrituras y varias réplicas para lecturas. Un compañero que lo tuvo así durante un año respondió que en la práctica no le resolvió el rendimiento, y que lo único que mejoró de verdad su tienda fue implantar una caché de páginas. Antes de complicar la arquitectura de la base de datos, mide dónde se va el tiempo.

Ver en Telegram

Migrar el correo al cambiar de hosting, cuenta a cuenta

Un compañero cambiaba de hosting y no sabía cómo llevarse los correos. Gustavo le dio dos caminos. Con acceso SSH, una herramienta de sincronización de buzones entre servidores. Sin SSH, un programa de correo de escritorio con cada cuenta configurada dos veces por IMAP, una contra el servidor viejo y otra contra el nuevo, y arrastrar las carpetas de una a otra. Tiene que ser IMAP: con POP3 los mensajes se descargan al ordenador y no quedan en el servidor. Hay que repetirlo con cada cuenta.

Ver en Telegram

La referencia del pedido no es un número

Un compañero quería que sus pedidos tuvieran números correlativos en lugar de esas letras raras, y había leído que bastaba con cambiar el AUTO_INCREMENT de la tabla de pedidos. Gustavo le aclaró la confusión: el id del pedido ya es un número correlativo; lo que ve el cliente es la referencia, un texto de letras aleatorias que no tiene contador. El AUTO_INCREMENT solo afecta a los id, y solo se puede poner por encima del último usado. Para tener referencias numéricas hace falta un módulo o un override.

Ver en Telegram

Los widgets de pago aplazado alargan la carga

Gustavo midió que los sistemas de pago a plazos y otros servicios externos que se cargan en la ficha y el carrito alargan la carga total de la página hasta más de 10 segundos, se carguen en diferido o no. El problema, explicaba, está en los ficheros JavaScript cuyas cabeceras obligan a pedirlos siempre al servidor. Estaba investigando cómo guardarlos en la memoria del navegador o servirlos desde el propio servidor para que se cacheen. Mientras tanto, lo práctico es cargarlos solo en las páginas donde hacen falta y medir con y sin ellos.

Ver en Telegram

No dejes que el cliente elija cualquier plantilla

Un consejo de Gustavo para quien monta tiendas: no aceptes un proyecto en el que el cliente elige libremente la plantilla. Dale a elegir entre las que conoces y usas a menudo. Si no queda más remedio, deja claro en el contrato que los cambios de diseño corren a cargo de quien hizo la plantilla o, como mucho, que cambiarás los banners de la demo. Y para los cambios del día a día, él graba vídeos para que el dueño de la tienda aprenda a hacerlos solo.

Ver en Telegram

Hooks antes que overrides

Gustavo está muy en contra de modificar el núcleo y solo usa overrides cuando no queda otra. Recuerda que desde la 1.7.8 PrestaShop añadió muchos hooks nuevos que los evitan. Sus favoritos en el front son los de presentación del producto y del carrito (actionPresentProduct y actionPresentCart), que permiten cambiar los datos antes de que lleguen a la plantilla. En el back-office, los hooks nuevos de la ficha de producto, como displayAdminProductsShippingStepBottom, permiten añadir campos sin tocar ficheros de vendor ni controladores, algo que antes se perdía con cada actualización. Ojo: ese hook es de la ficha de producto antigua; la nueva de 8.1, la única que queda en PrestaShop 9, ya no lo usa.

Ver en Telegram

¿Alguien baja hasta el final de la ficha de producto?

Gustavo se preguntaba si vale la pena mantener todos los bloques de listados al pie de la ficha (productos de la misma categoría, vistos recientemente, relacionados) si nadie llega a verlos. Antes de proponer a sus clientes quitarlos, quería datos reales. La respuesta de un compañero que trabaja con analítica: basta con añadir un evento de scroll y medirlo. Es la forma de decidir con datos: cuántos llegan a cada bloque y cuántos hacen clic en él.

Ver en Telegram

Esto salió en @PrestashopEsp, la mayor comunidad PrestaShop de España en Telegram. Ver la conversación

Cargando...
Cookies
Volver arriba