sábado, 11 de octubre de 2014

Prestashop - Algunos productos se visualizan a precio 0 en la ficha de producto

Estos días he tenido que enfrentarme a un problema, en el que una de las tiendas a las que doy soporte con Prestashop marcaba todos los precios perfectamente, pero al entrar en la ficha de producto de determinados productos su precio se visualizaba a 0.00 €.



Al principio no lograba comprenderlo, ya que en unos si y otros no, y después de comprobar en el Backend sus precios estaban correctos, incluso en la portada, o en los resultados de búsqueda, en definitiva en todos los listados, los precios se mostraban correctamente, fue entonces cuando se encendió la luz, y el cliente (que por cierto usa una conexion bastante lenta) me comentó que al principio le parecía ver el precio correcto del producto, pero que en 1 segundo cambiaba a 0, por lo que solo podría ser un JS, pero a razón de que iba a cambiar un Java Script el precio a 0??

Busque en el proyecto todos los JS que incluyeran la palabra 'price' es la clase que utiliza mi plantilla para mostar el precio, ademas el Id de ese Div incluye la palabra price, por lo que si era un JS casi seguro debería aparecer en la búsqueda, pero me retorno más de 100 resultados, en ese momento decidí que no podía ser al único que le pasara, y realice una búsqueda en google, entre otros resultados llegue aquí en donde nos cuentan que en los productos con combinaciones en Prestashop 1.6 ocurre esto.

Para solucionarlo nos ofrecen 2 alternativas

  1. Editar todas las variables con el nombre GroupReduction reemplazándolas con 1, dentro del JS llamado product.js, el cual debe estar ubicado en la carpeta js de nuestra template.
  2. Sustuir {$group_reduction} por {1-$group_reduction} en nuestro product.tpl, el cual debe estar en la carpeta de nuestra template, esta ultima solución es la que he probado personalmente y me esta funcionando a la perfección, la ventaja de usar esta ultima opción es que tan solo tienes que modificar una linea, frente a la anterior que debes buscar y reemplazar todas las variables
    con el nombre indicado.
Y tu?? que opción eliges?? que resultado te a dado?