[Solución] Precio con impuestos en las productos con combinaciones en prestashop
Si utilizáis prestashop con productos que tienen atributos y combinaciones, os encontraréis con el problema de que los productos no se muestran con impuestos aunque tengas configurado tu prestashop para mostrar los productos con impuestos.
Pues bien, antes de volverte loco con las configuraciones de tu tienda online te diré que más abajo tienes la solución a tu problema , y que esto es un bug de prestashop que se ha repetido en diversas versiones de prestashop
La ruta es:
tu-tienda/themes/nombre_de_tu_tema/js/
y el archivo que tienes que editar se llama product.js
Encuentra estas lineas y cambialas por las que pongo más abajo:
Encuentra estas:
if (!selectedCombination['unavailable'] && productShowPrice == 1) { var tax = (taxRate / 100) + 1; var taxExclPrice = (specific_price ? (specific_currency ? specific_price : specific_price * currencyRate) : productPriceTaxExcluded) + selectedCombination['price'] * currencyRate; |
Cámbialas por estas:
if (!selectedCombination['unavailable'] && productShowPrice == 1) { var tax = (taxRate / 100) + 1; var taxExclPrice = (specific_price ? (specific_currency ? specific_price : specific_price * currencyRate) : productPriceTaxExcluded) + selectedCombination['price']; |
Encuentra estas:
if (priceWithDiscountsDisplay > 0) { if(findSpecificPrice()){ $('#our_price_display').text(findSpecificPrice()).trigger('change'); } else{ $('#our_price_display').text(formatCurrency(priceWithDiscountsDisplay, currencyFormat, currencySign, currencyBlank)).trigger('change'); } } else { $('#our_price_display').text(formatCurrency(0, currencyFormat, currencySign, currencyBlank)).trigger('change'); } |
Y cámbialas por estas
if (priceWithDiscountsDisplay > 0) { if(findSpecificPrice()){ $('#our_price_display').text(findSpecificPrice()).trigger('change'); } else{ //$('#our_price_display').text(formatCurrency(priceWithDiscountsDisplay, currencyFormat, currencySign, currencyBlank)).trigger('change'); } } else { $('#our_price_display').text(formatCurrency(0, currencyFormat, currencySign, currencyBlank)).trigger('change'); } |
Y listo, estas soluciones nos ha fucionado correctamente en estas versiones, aunque no se si tendrá algún problema con otras versiones o con otros themes, esto ya corre de tu cuenta.
Suerte!