제품 가격에서 정밀도 제거


10

제목에서 말했듯이 가격에서 정밀도를 제거하고 싶습니다 ( .00 )

나는 이것을했다 :

  1. 에서 응용 프로그램 / 코드 / 코어 / 마법사 / 디렉토리 / 모델 / Currency.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. 그리고 app / code / core / Mage / Core / Model / Store.php에서

나는 바꿨다

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

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

그런 다음 캐시를 지우고 Magento (i version1.9)를 다시 인덱싱했지만 정밀도가 제거되지 않았습니다. 어떻게해야합니까?


핵심 클래스를 항상 재정의
Beto Castillo

답변:



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)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.