Usuń precyzję z ceny produktu

10

Jak powiedziałem w tytule, chcę usunąć precyzję z ceny ( .00 )

Zrobiłem te:

  1. W aplikacji / code / core / Mage / Directory / Model / Currency.php

w

public function format()

Zmieniłem

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

do

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

w

public function getEscapedValue()

Zmieniłem

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

do

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

Zmieniłem

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

do

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

Zmieniłem

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

do

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

Potem wyczyściłem pamięć podręczną i ponownie zindeksowałem Magento (która jest w wersji 1.9), Ale precyzja nie została usunięta, Czy coś mi brakuje? co powinienem zrobić?

Alireza Fallah
źródło
Zawsze zastępuj podstawowe klasy
Beto Castillo

Odpowiedzi:

13

Możesz spojrzeć na http://www.magentocommerce.com/magento-connect/et-currency-manager.html Nigdy go nie używałem, ale widzę, że możesz zarządzać miejscami dziesiętnymi i więcej

„Kto mimo wszystko potrzebuje centów? Możesz wyświetlić cenę bez centów zerowych. Przykład: wyświetl 49 zamiast 49,00, ale pozostaw 49,99 bez zmian.”

Plus za darmo :-)

Goose84
źródło
czy zmieni wartość faktury?
M.Elwan
4

Stare pytanie, ale tak naprawdę nie ma programowo poprawnej odpowiedzi.

$ _product to model produktu produktu.

$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
źródło