Avisos
Vaciar todo

Diferencia en decimales  

 
Kaines
 Kaines
Usuario activo

Hola,
Tengo una tienda virtuemart configurada para que utilice 3 decimales y aunque los muestra en los precios, a la hora de pasar los productos al carro de la compra redondea a 2, aunque sigue mostrando 3. En la imagen adjunta queda claro.
¿Tengo que modificar algo más para que todo trabaje con 3 decimales?

Gracias

Citar
Respondido : 16/11/2011 9:18 am
Pablo Velasco
 Pablo Velasco
Illustrious Member

Hola,

Para trabajar con 3 decimales en Virtuemart es necesario, además de poner el valor de 3 en el parámetro Decimales de Editar tienda realizar cambios en dos archivos del componente.

El primero hay que realizarlo en el archivo administrator/components/com_virtuemart/html/basket.php
Hay que buscar la línea con el código:

$product_price = round( $product_price, 2 );

y cambiarlo por:

$product_price = round( $product_price, 3 );

Con esto al iniciar el proceso de compra ya se trabajaría con 3 decimales. En el módulo del carrito se seguirán viendo el redondeo a 2 decimales. Para arreglarlo editamos el archivo administrator/components/com_virtuemart/html/shop.basket_short.php y buscamos la línea:

$subtotal = round( $price["product_price"], 2 ) * $cart[$i]["quantity"];

que cambiamos por la siguiente:

$subtotal = round( $price["product_price"], 3 ) * $cart[$i]["quantity"];

Si en lugar de 3 se necesitaran más decimales, en lugar de poner el 3 en el cambio del código ponemos el número que nos interese.

ResponderCitar
Respondido : 18/11/2011 8:37 am

Cursos Gratuitos WordPress