Eliminar la precisión del precio de un producto

10

Como dije en el título, quiero eliminar la precisión del precio ( .00 )

Hice estos:

  1. En app / code / core / Mage / Directory / Model / Currency.php

en

public function format()

Cambié

 return $this->formatPrecision($price, 2, $options, $includeContainer, $addBrackets);

a

 return $this->formatPrecision($price, 0, $options, $includeContainer, $addBrackets);
  1. En /app/code/core/Mage/Adminhtml/Block/Catalog/Product/Helper/Form/Price.php

en

public function getEscapedValue()

Cambié

 return number_format($value, 2, null, '');

a

 return number_format($value, 0, null, '');
  1. En js / varien / js.js

Cambié

var precision = isNaN(format.precision = Math.abs(format.precision)) ? 2 : format.precision;
var requiredPrecision = isNaN(format.requiredPrecision = Math.abs(format.requiredPrecision)) ? 2 : format.requiredPrecision;

a

var precision = 0;
var requiredPrecision = 0;
  1. Y en app / code / core / Mage / Core / Model / Store.php

Cambié

public function roundPrice($price)
    {
        return round($price, 2);
    }

a

 public function roundPrice($price)
    {
        return round($price, 0);
    }

Luego borré el caché y reindexé Magento (que es la versión 1.9), pero la precisión no se eliminó, ¿me estoy perdiendo algo? ¿Qué tengo que hacer?

Alireza Fallah
fuente
Siempre anule las clases principales
Beto Castillo

Respuestas:

13

Puede echar un vistazo a http://www.magentocommerce.com/magento-connect/et-currency-manager.html Nunca lo he usado, pero puedo ver que puede administrar los lugares decimales y más

"¿Quién necesita centavos de todos modos? Puede mostrar el precio sin cero centavos. Ejemplo: mostrar 49 en lugar de 49.00, pero dejar 49.99 sin cambios".

Además es gratis :-)

Ganso84
fuente
¿cambiará el valor de la factura?
M.Elwan
4

Antigua pregunta, pero realmente no tiene una respuesta programática correcta.

$ _product es su modelo de objeto de producto.

$price = ($_product->getFinalPrice() != 0) ? $_product->getFinalPrice()
            : $_product->getPrice();
        if ($round) {
            $store = Mage::app()->getStore(null);
            $currency = $store->getCurrentCurrency();
            return $currency->formatPrecision($price, 0, array(), true, false);
        }
        return Mage::helper('core')->currencyByStore($price)
ProxiBlue
fuente