2014-02-20 4 views
-1

надеюсь кто-то может помочь.Как получить индивидуальный ценовой формат (с 3 точностью) в magento

нужно number_format показать 3 десятичные на это .... (actualy 2)

<?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()/$_product->getAnzeigeMenge()) ?> 

используются number_format всех дней ($ _ значением, 3, "", ""), но не знает, как получить это работать.

ответ

0
[magento]\app\code\core\Mage\Checkout\Helper\Data.php 

добавить ниже функции

public function customformatPrice($price) 
{ 
     return $this->getQuote()->getStore()->customformatPrice($price); 
} 

добавить ниже функции в [Magento] \ приложение \ код \ ядро ​​\ Mage \ Ядро \ Модель \ Store.php

public function customformatPrice($price, $includeContainer = true) 
    { 
      if ($this->getCurrentCurrency()) { 
      //sets the floating point precision to 3 points 

      return $this->getCurrentCurrency()->format($price, array('precision'=>3),  $includeContainer); 

     } 
     return $price; 
    } 

вы можете использовать выше, например

//magento default call 
echo Mage::helper('checkout')->formatPrice(3000.1231);//Rs3,000.12 
echo "<br>"; 
//customized function call 
echo Mage::helper('checkout')->customformatPrice(3000.12313);//Rs3,000.123 

на самом деле вы можете направить изменения formatPrice() в [Magento] \ приложение \ код \ ядро ​​\ Mage \ Ядро \ Model \ Store.php, но, как вы хотите, как формат мы создаем пользовательскую функцию

надежда это полезно для вас

+0

. Спасибо, уважаю, verry. Thats it;) – Tonysday

+0

Я очень не рекомендую людям менять основные файлы, это плохая практика, а затем не позволяет вам модернизировать Magento! –

0

вы можете использовать как

Попробуйте Используя это,

echo number_format($_value, '2', '.', ',') 

или

echo number_format($_value, '3', '.', ',') 

Также, пожалуйста, проверьте

Больше информации: http://php.net/manual/en/function.number-format.php

надеюсь, что это обязательно поможет.

+0

Я знаю об этом, но это не мой вопрос. Как отображать helper ('checkout') -> formatPrice ($ _ item-> getCalculationPrice()/$ _ product-> getAnzeigeMenge())?> Быть с 3 десятичными знаками Спасибо u – Tonysday

+0

use getData ('custom_attribute_name_here'), 2); ?> функция номерного формата, иначе я должен изменить в файлах mage lib для валюты – liyakat

+0

Я думаю, что это сработает, но не поможет в этом месте. Я использую это на странице cart/checkout, чтобы разделить форматPrice ($ _ item-> getCalculationPrice() с моим пользовательским атрибутом (см. Мой вышеприведенный код). Единственный способ, которым я получаю эту функцию разделения, - это использовать этот метод. Только на этом i нужно отображать 3 десятичных знака для всех остальных. Мне нужно 2 – Tonysday

0

открыт [Magento] \ приложение \ код \ ядро ​​\ Mage \ ядро ​​\ Модель \ Store.php

public function formatPrice($price, $includeContainer = true) 
    { 
      if ($this->getCurrentCurrency()) { 
      //sets the floating point precision to 3 points 

      return $this->getCurrentCurrency()->format($price, array('precision'=>3),  $includeContainer); 

     } 
     return $price; 
    } 

Примечание: - изменение массива ('точность' => 3) вместо массива()

Смежные вопросы