Píldoras PrestaShop de enero de 2024: JPG, PayPal e IVA
Las ideas sueltas de enero de 2024: comprimir las imágenes a 75, combinaciones fantasma en la base de datos, productos de temporada, PayPal que limita cuentas de cosmética, registrar errores en un fichero propio, el redondeo del IVA, el error de ADDONS_API_URL y el tema hijo con extends.
Enero de 2024 en el grupo: trucos de rendimiento, fallos raros con solución y algún aviso de las pasarelas.
No todas las tiendas necesitan JPG al 90
Gustavo, de la comunidad, lo dejó como truco: en muchas tiendas las imágenes se ven perfectamente con la compresión JPG a 75 en lugar de 90. Pierde algo de calidad, pero en una foto de producto de 500 × 500 no se suele notar, ocupa menos y la tienda carga antes. Pruébalo con tus fotos, regenera las miniaturas y compara.
«Duplicate entry» al crear un valor de atributo
Un compañero no podía crear un valor de atributo: error de entrada duplicada en ps_attribute_shop. Gustavo lo había visto antes: combinaciones fantasma, registros que no se borraron de la base de datos al eliminar una variante. El compañero borró de la base de datos los atributos que deberían haber desaparecido y se arregló. Haz una copia antes de tocar nada.
Productos de temporada: no los apagues cada año
¿Desactivar los productos de San Valentín el día 15 y crearlos otra vez al año siguiente? Un compañero lo tenía claro: así no se posicionarán nunca, porque dos semanas antes de la fecha no da tiempo; mejor mantener la página y renovar su contenido. Una compañera matizó: al desactivar un producto, PrestaShop puede redirigirlo con un 301 a su categoría, y si no va a volver, lo suyo es eso o una redirección a otro producto parecido. Los artículos del blog, en cambio, deben quedarse. Para lo que se agota, RKR Product Rescue ofrece alternativas en lugar de un 404.
PayPal te limita la cuenta por la composición de tus productos
A una tienda de parafarmacia, PayPal le limitó la cuenta hasta retirar productos que, según su política de uso aceptable, la infringían: anticelulíticos, cremas faciales, tintes. Otro miembro le sugirió revisar si las descripciones usan palabras que estas plataformas vigilan. Gustavo avisó de que Redsys también puede pedir que se retiren productos; otro compañero, en cambio, llevó una farmacia online sin problemas con Redsys.
Los errores de PHP, en tu propio fichero
Gustavo compartió cómo tener el registro de errores localizado: indicar en PHP dónde guardarlo con ini_set('log_errors', 'on') y ini_set('error_log', ...) al principio del index.php (primero dijo el .htaccess y le corrigieron). Otro compañero avisó de que en LiteSpeed y otros servidores da error 500 si no está permitido. Ten en cuenta que una actualización de PrestaShop puede sobrescribir el index.php. Y si el fichero queda dentro de la web, protege la carpeta para que nadie lo pueda descargar. Las opciones están en la documentación de PHP.
El redondeo del IVA que no cuadra
Una base de 14,17 € con un IVA del 10% da 1,417 € de cuota. Una compañera veía que PrestaShop dejaba la cuota en 1,41 € en lugar de redondear a 1,42 €. Otro miembro le quitó hierro: que descuadre un céntimo a veces por el redondeo es normal, y en contabilidad se ajusta. Si quieres que base más IVA sumen siempre lo cobrado, Rekire tiene el módulo de ajuste de redondeo de IVA.
«Environment variable not found: ADDONS_API_URL»
Un error 500 en el back-office con ese mensaje en el registro. Siguiendo la traza, el compañero llegó al módulo del marketplace de Addons que trae PrestaShop (ps_mbo). Vaciar la caché no bastó; lo resolvió renombrando la carpeta de ese módulo, lo que lo deja fuera de juego, y después le tocó lo mismo con otros dos módulos oficiales. Si te pasa, actualiza ese módulo a su última versión antes de dejarlo así.
Tema hijo con {extends}: cambia un bloque, no la plantilla entera
Gustavo dejó este truco en el grupo. En el tema hijo, con la misma ruta que el fichero del padre (por ejemplo templates/_partials/footer.tpl), en lugar de copiar entera la plantilla del padre, la extiendes y reescribes solo el bloque que te interesa:
{extends file='parent:_partials/footer.tpl'}
{block name='hook_footer'}
<div>Aquí el código que añades</div>
{/block}La plantilla del padre sigue intacta y puedes actualizarlo sin perder tus cambios. Lo que pongas dentro sustituye al contenido de ese bloque; si quieres conservar lo que había y añadir lo tuyo, mete {$smarty.block.parent} dentro. Pruébalo antes en una copia de la tienda.
Ocultar transportistas en el carrito
Gustavo buscaba un módulo que ocultara un transportista en el carrito y lo dejara disponible en el back-office, sin pasar por grupos de clientes, que obligan a reconfigurar categorías y permisos. No lo encontró y lo hizo: está en gmartos.es.
Listas de regalos que no dicen qué se ha comprado
Gustavo revisó módulos de listas de regalos y ninguno indicaba si un producto ya se había comprado o cuántas unidades faltaban, así que los invitados podían regalar de más. Lo que debería hacer una lista: enseñar qué queda por regalar. Es lo que hace RKR Gifts List & Events.
Esto salió en @PrestashopEsp, la mayor comunidad PrestaShop de España en Telegram. Ver la conversación