Avisos
Vaciar todo

Problema con los precios en las combinaciones Prestashop 1.6  

 
Fernando
 Fernando
Usuario eminente

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

Citar
Respondido : 01/04/2016 2:42 pm
Pablo Velasco
 Pablo Velasco
Illustrious Member

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?

ResponderCitar
Respondido : 01/04/2016 4:11 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Fernando
 Fernando
Usuario eminente

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

ResponderCitar
Respondido : 04/04/2016 12:36 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

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

ResponderCitar
Respondido : 04/04/2016 2:50 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Fernando
 Fernando
Usuario eminente

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!

ResponderCitar
Respondido : 04/04/2016 3:02 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

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.

ResponderCitar
Respondido : 04/04/2016 7:02 pm

Fernando
 Fernando
Usuario eminente

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!

ResponderCitar
Respondido : 04/04/2016 8:14 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

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.

ResponderCitar
Respondido : 05/04/2016 12:07 am

wpdoctor-revisa-la-salud-de-tu-wordpress

Fernando
 Fernando
Usuario eminente

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

ResponderCitar
Respondido : 05/04/2016 12:29 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

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.

ResponderCitar
Respondido : 05/04/2016 6:37 pm

Cursos Gratuitos WordPress

Fernando
 Fernando
Usuario eminente

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

ResponderCitar
Respondido : 05/04/2016 7:00 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

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.

ResponderCitar
Respondido : 05/04/2016 9:01 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress