如何在 magento 中获取自定义价格格式(3 精度)
Posted
技术标签:
【中文标题】如何在 magento 中获取自定义价格格式(3 精度)【英文标题】:How to get custom price format (with 3 Precision) in magento 【发布时间】:2014-02-20 00:33:22 【问题描述】:希望有人能提供帮助。
需要 number_format 来显示 3 个小数点......(实际上是 2 个)
<?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()/$_product->getAnzeigeMenge()) ?>
一直使用 number_format($_value, 3,",",".") 但不知道如何让它工作。
【问题讨论】:
【参考方案1】:你可以用喜欢
尝试使用这个,
echo number_format($_value, '2', '.', ',')
或
echo number_format($_value, '3', '.', ',')
请检查
更多信息:http://php.net/manual/en/function.number-format.php
希望这对你有帮助。
【讨论】:
我知道这件事,但这不是我的问题。我如何显示 helper('checkout')->formatPrice($_item->getCalculationPrice()/$_product->getAnzeigeMenge()) ?> 3 位小数谢谢你 使用 getData('custom_attribute_name_here'), 2); ?> 数字格式功能,否则我必须在法师库文件中更改货币 我认为这会起作用,但在这个地方没有帮助。我在购物车/结帐页面上使用它来划分 formatPrice($_item->getCalculationPrice() 与我的自定义属性(请参阅我上面的代码)。我让这个划分功能起作用的唯一方法是使用这个方法。只有在这个我需要在所有其他我需要 2 上显示 3 个小数【参考方案2】:打开 [magento]\app\code\core\Mage\Core\Model\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;
注意:- 更改 array('precision'=>3) 而不是 array()
【讨论】:
【参考方案3】:[magento]\app\code\core\Mage\Checkout\Helper\Data.php
添加以下功能
public function customformatPrice($price)
return $this->getQuote()->getStore()->customformatPrice($price);
在 [magento]\app\code\core\Mage\Core\Model\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
实际上你可以直接修改 [magento]\app\code\core\Mage\Core\Model\Store.php 中的 formatPrice() 但如果你想要两种格式,我们创建自定义函数
希望对你有帮助
【讨论】:
非常感谢你。就是这样;) 我非常不鼓励人们更改核心文件,这是一种不好的做法,然后会阻止您升级 Magento!以上是关于如何在 magento 中获取自定义价格格式(3 精度)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Magento 1 中应用我的自定义目录价格规则条件?