Esther Posted August 17, 2018 Share Posted August 17, 2018 Hola, necesito poner porcentajes condecimales en los precios para conseguir el precio final que quiero, con precios psicológicos cómo 11.95 por ejemplo. Para ello tengo que aplicar porcentajes de 39.96356. El hecho de querer poner un porcentaje en vez del precio final es poruq equiero que salga en las "flags" sobre la foto del producto en el listado de producto en la categoría. He conseguido quitar el decimal con {round($product.discount_percentage_absolute) %} pero no redondea al alza, solo quita los decimales. En la configuración de prestashop tengo que redondee al alza cuando pase de la mitad, pero no está funcionando para este caso. Veo en la documentación de Symfony y el redondeo al alza se hace con un round_up o round_half_up pero si lo uso en el archivo product-prices.tpl se genera un error que deja la pantalla en blanco. ¿Alquien sabe cómo hacer este redodeo? Gracias Link to comment Share on other sites More sharing options...
Esther Posted August 20, 2018 Author Share Posted August 20, 2018 Hola, dejo la respuesta por si a alguien le viene bien: -{ROUND($product.discount_percentage_absolute,0, PHP_ROUND_HALF_UP))}% En caso de querer pasar el total de descuento a porcentaje de descuento, se puede aplicar ésta formula: -{ROUND((1-$product.price/$product.regular_price)*100,0, PHP_ROUND_HALF_UP)} % De esta forma, en vez de salir por ejempplo descuento de 30€, saldrá el porentaje redondeado al alza cuando el primer decimal sea mayor de 5. Link to comment Share on other sites More sharing options...
paxiko Posted June 12, 2019 Share Posted June 12, 2019 Si fueras tan amable de decirme en donde exactamente hiciste el cambio porque lo he intentado en el archivo "product-prices.tpl" pero no he conseguido quitar los decimales. Gracias Link to comment Share on other sites More sharing options...
Luis GB Posted May 15, 2020 Share Posted May 15, 2020 Yo lo he solucionado modificando en el archivo src\Adapter\Presenter\Product\ProductLazyArray.php las siguientes líneas: // TODO: add percent sign according to locale preferences $this->product['discount_percentage'] = Tools::displayNumber($presNegativeReduction) . '%'; $this->product['discount_percentage_absolute'] = Tools::displayNumber($presAbsoluteReduction) . '%'; Añado round(..., 0) // TODO: add percent sign according to locale preferences $this->product['discount_percentage'] = Tools::displayNumber(round($presNegativeReduction, 0)) . '%'; $this->product['discount_percentage_absolute'] = Tools::displayNumber(round($presAbsoluteReduction, 0)) . '%'; 1 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