Entfernen Sie die Präzision vom Preis eines Produkts

10

Wie ich im Titel sagte, möchte ich die Präzision aus dem Preis entfernen ( .00 )

Ich habe diese gemacht:

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

im

public function format()

ich habe mich verändert

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

zu

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

im

public function getEscapedValue()

ich habe mich verändert

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

zu

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

ich habe mich verändert

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

zu

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

ich habe mich verändert

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

zu

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

Dann habe ich den Cache geleert und Magento (das ist i Version 1.1) neu indiziert. Aber die Genauigkeit wurde nicht entfernt. Fehlt mir etwas? was sollte ich tun?

Alireza Fallah
quelle
Kernklassen immer überschreiben
Beto Castillo

Antworten:

13

Sie können einen Blick auf http://www.magentocommerce.com/magento-connect/et-currency-manager.html werfen. Ich habe es nie verwendet, aber ich kann sehen, dass Sie die Dezimalstellen und mehr verwalten können

"Wer braucht schon Cent? Sie können den Preis ohne Null Cent anzeigen. Beispiel: Zeigen Sie 49 statt 49.00 an, lassen Sie aber 49.99 unverändert."

Plus es kostenlos :-)

Goose84
quelle
wird es den Rechnungswert ändern?
M. Elwan
4

Alte Frage, hat aber nicht wirklich eine programmatisch richtige Antwort.

$ _product ist Ihr Produktobjektmodell.

$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
quelle