Píldoras PrestaShop de octubre de 2024: cookies y Reply-To
Las ideas sueltas de octubre de 2024 en @PrestashopEsp: la etiqueta de Google Ads en Tag Manager, el fin de los servicios de indexación por API, devoluciones sin embalaje, el resumen de cookies de Gustavo y cómo una base de datos bajó de 1 GB a 154 MB.
Octubre de 2024 dejó en el grupo trucos de desarrollo, limpieza de base de datos, cookies y un par de avisos sobre Google.
Google aconseja la etiqueta de Google Ads en Tag Manager
Gustavo contó lo que le dijeron desde Google: añadir la etiqueta de Google de Ads en todos los contenedores de Tag Manager, porque sin ella puede haber pérdida de datos. Los pasos: comprobar que no existe ya una etiqueta de Google Ads, crear una «Etiqueta de Google» con el ID de Google Ads (lo ves en la conversión configurada), asignarle los activadores, guardar y publicar. En Google Ads también recomiendan activar las opciones de la etiqueta de Google desde el gestor de datos. Revisa tu contenedor antes para no duplicar nada.
Spam por el formulario de contacto que se salta el captcha
Gustavo avisó de que estaban llegando mensajes basura por el formulario de contacto, enviados desde direcciones de un mismo proveedor de dominios, que se saltaban el captcha. Compartió un pequeño script que comprobaba el campo del correo antes de enviar. Sirve como parche rápido, pero un filtro en JavaScript lo salta cualquier bot que envíe el formulario directamente: si el problema sigue, la comprobación tiene que hacerse también en el servidor.
Los servicios que «indexaban» con la API de Google cerraron
Un compañero recibió el aviso de cierre de un servicio de pago que prometía indexar URL rápido en Google. El motivo: los cambios de Google en su Indexing API. Esa API está pensada para páginas de ofertas de empleo y de emisiones en directo, no para fichas de producto. Para que Google conozca tus páginas nuevas sigue valiendo lo de siempre: sitemap, enlazado interno y Search Console. Otros buscadores sí aceptan avisos al momento con IndexNow, como hace nuestro RKR IndexNow Best.
displayProductPriceBlock se ejecuta varias veces: mira el tipo
Un compañero quería mostrar información junto al precio y se empeñaba en crear un hook propio. Gustavo le recordó que ya existe displayProductPriceBlock, con una trampa: se llama en varias posiciones del bloque de precio, así que lo que pintes sale repetido. Hay que mirar $params['type'] y actuar solo en la posición que quieras: before_price, after_price, unit_price y otras.
Devolución sin el embalaje original: no puedes rechazarla
Un compañero que vende electrodomésticos explicó cómo lo aplica: en el desistimiento no se puede exigir que el producto vuelva en su embalaje original, pero sí puedes aplicar una depreciación si el embalaje llega destrozado o el producto se ha manipulado más de lo necesario para comprobarlo. Citó el considerando 47 de la Directiva 2011/83/UE: el consumidor solo debe manipular el producto como lo haría en una tienda física. Otro miembro del grupo matizó que hay productos en los que el embalaje es parte del valor, como los de colección.
Tarjetas regalo que no cubren el transporte
Gustavo planteó un problema conocido: alguien regala una tarjeta de 75 € y, cuando el destinatario compra por menos, tiene que pagar el envío aunque le sobre saldo. Propuso una opción para que el resto del vale se descuente del transporte. En el hilo salió otro detalle de PrestaShop: si en el vale activas el uso parcial, al usarlo por menos de su valor se genera un vale nuevo con el resto. Gustavo reconoció que su idea no contemplaba ese caso, y que habría que tenerlo en cuenta para no descontar dos veces.
Responder al cliente desde tu correo: Reply-To, no From
Una compañera recibía en su correo los mensajes que los clientes enviaban desde el formulario de su pedido, pero con el remitente de la tienda, y al responder tenía que copiar a mano la dirección del cliente. Otro compañero le explicó por qué no se puede enviar con el cliente como remitente: sería suplantar su correo y los servidores lo rechazarían. Lo correcto es añadir la cabecera Reply-To con el correo del cliente; así, al pulsar «Responder», la respuesta le llega a él. Está documentada en la función mail de PHP.
Las cookies, en un párrafo
Ante una compañera que no encontraba la información junta, alguien enlazó la guía de cookies de la AEPD y Gustavo la resumió: las cookies de terceros (analítica, publicidad, recogida de datos) se bloquean hasta que el usuario acepta. El aviso ofrece aceptar, rechazar y configurar, sin resaltar ninguna opción. Seguir navegando no es aceptar, y si dice que no, no se añaden cookies de terceros. Para Gustavo, las técnicas y la analítica propia que no se comparte no lo necesitan; la guía detalla en qué casos exactos. En Rekire tenemos RKR Cookies, con bloqueo real.
La fecha de nacimiento con calendario en el registro
Un compañero compartió cómo cambiar el campo de cumpleaños del registro para que muestre un selector de fecha en lugar de un texto. Es un override corto de CustomerFormatter que cambia el tipo del campo:
class CustomerFormatter extends CustomerFormatterCore
{
public function getFormat()
{
$format = parent::getFormat();
if (Configuration::get('PS_CUSTOMER_BIRTHDATE') && isset($format['birthday'])
&& !Context::getContext()->customer->isLogged(true)) {
$format['birthday']->setType('date');
}
return $format;
}
}Hemos añadido que solo cambie el campo si el cliente no ha iniciado sesión: en «Información personal» PrestaShop rellena la fecha en el formato del idioma (por ejemplo, 31/05/1970), que un selector de fecha no sabe mostrar, y al guardar se perdería. Va en override/classes/form/CustomerFormatter.php; después, borra el class_index.php de la caché y prueba en una copia de la tienda un registro completo y la edición de los datos de un cliente.
De 1 GB a 154 MB: tablas que se pueden adelgazar
Un compañero redujo su base de datos de 1 GB a 154 MB con lo que le sugirieron en el grupo. Vació la tabla de bloques de filtros del módulo de navegación por facetas y regeneró los índices desde el propio módulo. Borró las conexiones de visitantes anteriores a una fecha y, después, los visitantes que ya no tenían ninguna conexión. Y optimizó las tablas. Gustavo explicó que la de facetas vuelve a crecer cuando hay muchas plantillas de filtros asignadas a categorías. Antes de borrar nada, copia de la base de datos.
Esto salió en @PrestashopEsp, la mayor comunidad PrestaShop de España en Telegram. Ver la conversación