Удалить точность из цены продукта


10

Как я уже сказал в заголовке, я хочу убрать точность из цены ( .00 )

Я сделал это:

  1. В приложении / код / ​​ядро ​​/ маг / каталог / модель / валюта. Php

в

public function format()

Я изменился

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

в

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

в

public function getEscapedValue()

Я изменился

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

в

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

Я изменился

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

в

var precision = 0;
var requiredPrecision = 0;
  1. И в приложении / код / ​​ядро ​​/ маг / ядро ​​/ модель / Store.php

Я изменился

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

в

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

Затем я очистил кеш и переиндексировал Magento (это i версия 1.9), но точность не удалялась, я что-то упустил? что мне делать?


Всегда переопределять основные классы
Бето Кастильо

Ответы:


13

Вы можете взглянуть на http://www.magentocommerce.com/magento-connect/et-currency-manager.html Я никогда не использовал его, но я вижу, что вы можете управлять десятичными разрядами и многое другое

«Кому все равно нужны центы? Вы можете отобразить цену без нуля центов. Пример: отобразить 49 вместо 49,00, но оставить 49,99 без изменений».

Плюс это бесплатно :-)


это изменит значение счета?
Элван

4

Старый вопрос, но на самом деле нет правильного программного ответа.

$ _product - это объектная модель вашего продукта.

$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)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.