Hola, estoy teniendo problemas con los precios a la hora de realizar las combinaciones.
Yo suelo poner los precios con IVA incluido para asegurarme de que el cliente final ve el precio redondeado. Sin embargo, en las combinaciones, aunque en el back me pone el precio que se mostrará correctamente, luego en la web pública me sube o me baja un céntimo. Cuando la añado al carrito, se muestra otra vez correctamente.
He estado mirando varios hilos y no encuentro una solución. En cuanto a la moneda, solo tengo el Euro y el valor es 1.
¿Alguien sabe cómo se puede solucionar?
Muchas gracias
URL del sitio: Contenido solo visible a usuarios registrados
Hola,
Por lo que comentas, puede que se trate de un problema con los redondeos, de forma que en algunos casos no lo aplique bien.
Actualmente tienes la web en mantenimiento, por lo que no podemos analizar el tema de forma directa. Tendrías que desactivar este estado de mantenimiento y pasarnos el enlace a algún producto donde tengas este problema. También tendrías que enviarnos capturas de pantalla donde podamos ver la configuración que tienes para el precio de ese producto, así como la configuración de algunas combinaciones donde se produzca el fallo.
¿Este descuadre de 1 céntimo te ocurre siempre o solo en algunos casos?
Buenos días, la tienda ahora mismo la tenemos en el un directorio temporal:
http://todoenba-cp169.webprestashop.com/prestashop/platos-de-ducha-de-resina/868-terran-roca-cream-plato-de-ducha-extraplano.html#/44-medidas-140_x_70_cm
En este link ves el producto y la combinación que no sale bien. Tenemos varios productos con esta misma combinación (medida140x40 cm) y en principio solo lo hemos detectado en esa combinación en todos los productos de esa gama.
Adjunto pantalla de configuración de precio de producto, combinación y moneda.
No sé si con esto será suficiente.
Muchas gracias
Hola Fernando.
Vamos a ver si podemos solucionarlo:
Edita el fichero ' product.js ' que se encuentra en de la carpeta js de tu tema instalado' ' themes/todoenbanos_prueba ' y busca la siguiente línea:
priceWithGroupReductionWithoutTax = ps_round(basePriceWithoutTax * (1 - group_reduction), 2);
Reemplázalo por lo siguiente:
priceWithGroupReductionWithoutTax = ps_round(basePriceWithoutTax * (1 - group_reduction), 6);
Revisa si ahora funciona bien.
Nota: Antes de hacer cualquier modificación realiza una copia del archivo a modificar, con eso evitaremos problemas si algo ha funcionado mal.
Un saludo
Hola, no sé si me equivoqué de fichero pero no encuentro esa línea tal cual.
La ubicación es: /themes/todoenbanos_prueba/js, ¿cierto?
Lo más parecido que he visto es:
// Set product (not the combination) base price
var basePriceWithoutTax = +productPriceTaxExcluded;
var basePriceWithTax = +productPriceTaxIncluded;
var priceWithGroupReductionWithoutTax = 0;
priceWithGroupReductionWithoutTax = basePriceWithoutTax * (1 - groupReduction);
// Apply combination price impact (only if there is no specific price)
// 0 by default, +x if price is inscreased, -x if price is decreased
basePriceWithoutTax = basePriceWithoutTax + +combination.price;
basePriceWithTax = basePriceWithTax + +combination.price * (taxRate/100 + 1);
¿Hay otro product.js en otra ubicación?
¡Gracias!
Hola
No hay otro, salvo estes usando otro theme, ya que este archivo es por theme.
Sin embargo lo que envías parece ser similar a lo que te envió Pepe, deja la línea con redondeo , es decir :
Lo que tienes :
priceWithGroupReductionWithoutTax = basePriceWithoutTax * (1 - groupReduction);
Por esto :
priceWithGroupReductionWithoutTax = ps_round(basePriceWithoutTax * (1 - group_reduction), 2);
Prueba primero un redondeo a 2 y luego a 6 y verifica , esto lo define el último número que aparece
Saludos.
Hola, he sustituido esa línea por la que me comentas y no me hace las combinaciones de precio.
Lo que he hecho es sustituir group_reduction por groupReduction por si no reconocía la variable, y ha vuelto a hacer las combinaciones. Cuando he cambiado el valor 2, por 6 no ha habido ningún cambio. Sigue saliendo el mismo error...
Mi impresión es que es del back y no del front... porque en otra versión anterior de prestashop en el precio sin IVA de las combinaciones había 6 decimales y aquí solo 2... creo que es el back el que lo redondea, ¿puede ser?
Gracias!
Hola
La modificación del archivo .js es sólo para visualización , no cambia el valor en la base de datos.
Verifica en Localización => Moneda, en la moneda que usas que formato tienes, vuelve a guardar los cambios.
Revisa también en Preferencias => Configuración => Tipo de redondeo , manten la opción de clásico el elige alguno según te convenga
Agrega un nuevo producto con precios similares al del ejemplo q te da error y verifica si te sucede lo mismo.
Saludos.
Buenos días,
He verificado el formato de la moneda y la configuración del redondeo (he puesto el recomendado).
He creado una nueva combinación y nada, sigue fallando.
Te adjunto pantallas del proceso por si se me he dejado algo en el tintero. Como podrás observar, en el back me pone el precio de forma correcta, pero luego en el front me lo cambia.
La plantilla que estoy usando es sin duda esa, porque he hecho un montón de modificaciones... y se visualizan perfectamente. Es la plantilla Calisto con modificaciones, por si quieres comprobar el archivo product.js original...
Muchas gracias
Hola
Si se muestra el precio correctamente en el backend y además en algunas partes del front-end de tu sitio también se ve correctamente, entonces el problema si que puede ser de algunos archivos de la plantilla.
Renombra el product.js del theme calisto y luego, busca el archivo product.js en la plantilla por defecto y copiarlo al theme calisto
/themes/default-bootstrap/js/product.js
En la pantalla de producto intervienen varios archivos pero según veo este es uno de los que brinda el comportamiento de combinaciones.
Saludos.
Hola, pues nada...
No funciona. Me preocupa que no tenga esa línea de código que me dijisteis que modificara al principio.
¿Puede ser de la instalación de Prestashop? ¿Nadie más tiene este problema??
Un saludo
HOla
Podrías probar en un clon de tu sitio web cambiando de theme, al theme por defecto y verificar si te sucede lo mismo.
https://www.webempresa.com/blog/item/1967-duplicar-una-web-prestashop-como-lo-hago.html
Igual esta copia podría servirte para futuras pruebas de módulos o configuraciones.
Saludos.