elenaso Posted June 10, 2020 Share Posted June 10, 2020 (edited) Tengo un producto simple (sin combinaciones) con estos precios: En la pestaña Precios tengo estos precios configurados, ya que es un producto que se vende por gramos: El problema está en que en la web, cuando estoy viendo la ficha del producto, no muestra el precio unitario indicado en la pestaña precios, sino que redondea este precio tanto que sale un precio erróneo: Sin embargo, en el carrito sale correctamente este precio: He revisado el código y en ambos archivos product-prices.tpl y cart-detailed-product-line.tpl están mostrando el dato $product.unit_price_full, sin embargo en algún sitio se está haciendo un redondeo cuando se va a mostrar en la ficha. ¿Esto es un bug o está así hecho aposta por algún motivo? ¿Dónde tendría que modificarlo? Gracias! Edited September 22, 2020 by elenaso Solucionado (see edit history) Link to comment Share on other sites More sharing options...
juanrojas Posted July 2, 2020 Share Posted July 2, 2020 Hola, revisaste parametros de la tienda>configuracion>Modo de redondeo ? Link to comment Share on other sites More sharing options...
elenaso Posted July 3, 2020 Author Share Posted July 3, 2020 Sí, y estos datos son comunes a toda la web, por lo que los dos supuestos deberían mostrar el mismo valor, pero no lo hacen. No está ahí el problema. No obstante te mando print. Link to comment Share on other sites More sharing options...
juanrojas Posted July 3, 2020 Share Posted July 3, 2020 pero digo yo porque no pruebas con varios modos de redondeos para ver si con alguno cuaja Link to comment Share on other sites More sharing options...
elenaso Posted July 4, 2020 Author Share Posted July 4, 2020 Pero vamos a ver... El redondeo es correcto, es el que quiero para el resto de productos de la web, y en el carrito se muestra correctamente con el redondeo que tengo marcado. Si lo cambio se me verá mal el resto de la web. No obstante, el redondeo afecta al último dígito y yo tengo el problema con los dos últimos. Básicamente porque no es un problema de redondeo, es un problema de que en la ficha del producto (donde aparece el precio erróneamente) está redondeando y multiplicando a partir del precio por gramo, no del precio por 100gr, por eso sale redondeado a 2,00€ y no a 2,40€. Gracias igualmente por tus comentarios. Link to comment Share on other sites More sharing options...
elenaso Posted September 22, 2020 Author Share Posted September 22, 2020 Creo que PrestaShop calcula el precio unitario que se muestra en la web a partir del precio del producto, que ya está redondeado, aunque no lo tengo muy claro. En mi caso, por si le sirve a alguien, la SOLUCIÓN que adopté fue modificar los .tpl necesarios para que cuando hay un producto con precio unitario (productos por peso o por metro), visualmente muestre al usuario el precio por la unidad indicada y no el precio del producto. De modo que se vería así: He contemplado también los descuentos, tanto por % como fijos. Los .tpl a modificar (estoy trabajando con la plantilla por defecto, si trabajas con otra puede que varíe) son estos: > Añadir un mensaje encima de la cantidad que ponga "Seleccione los gramos": /themes/TU_TEMA/templates/catalog/_partials/producto-add-to-cart.tpl > Listado de productos por categoría: /themes/TU_TEMA/templates/catalog/_partials/miniatures/product.tpl > Vista previa: /themes/TU_TEMA/templates/catalog/_partials/product-prices.tpl > Ficha producto: /themes/ TU_TEMA /templates/catalog/_partials/product-prices.tpl > Añadir al carrito: /themes/ TU_TEMA /modules/ps_shoppingcart/modal.tpl > Carrito: /themes/ TU_TEMA /templates/checkout/_partials/cart-detailed-product-line.tpl > Pedido confirmado: /themes/ TU_TEMA /templates/checkout/_partials/order-confirmation-table.tpl > Mi cuenta -> mis pedidos (cuando no permite devoluciones): /themes/ TU_TEMA /templates/customer/_partials/order-detail-return.tpl > Mi cuenta -> mis pedidos (cuando permite devoluciones): /themes/ TU_TEMA /templates/customer/_partials/order-detail-no-return.tpl > Mi cuenta -> devoluciones de mercancía: / themes/ TU_TEMA /templates/customer/order-return.tpl > Para las label que se muestran sobre las fotos (tema descuentos): /themes/ TU_TEMA /templates/catalog/_partials/product-flags.tpl > En el proceso de pago: /themes/TU_TEMA/templates/checkout/_partials/cart-summary-product-line.tpl Te dejo algunas variables que usé para calcular el precio unitario: $product.reduction $product.unit_price_ratio $currency.sign $product.unity $product.specific_prices.reduction_type $product.price_without_reduction ... Creo que no me olvidé de ningún tpl. A mayores, modifiqué el número que aparece en el carrito, para que no muestre que has comprado 1000 artículos, cuando lo que has comprado es 1kg de arroz (1000gr), para esto, modifiqué los siguientes tpl para mostrar {$cart.products|count}, que es el número de artículos diferentes (o lo que es lo mismo, número de líneas): > En el icono del carrito (arriba a la derecha siempre visible): /themes/TU_TEMA/modulos/ps_shoppingcart/ps_shoppingcart.tpl > En el modal al añadir al carrito: /themes/TU_TEMA/modulos/ps_shoppingcart/modal.tpl > En el resumen del carrito (proceso de pago): /themes/TU_TEMA/templates/checkout/_partials/cart-detailed-totals.tpl > En el resumen del carrito (proceso de pago): /themes/TU_TEMA/templates/checkout/_partials/cart-summary.tpl Si a alguien le sirve, ahí queda eso. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now