Цена пустого значения getPrice()

function getDescriptionHtml($tpl, $p){
    $out = "";
    $pr = $p["product"];

    if(Mage::getStoreConfig('featuredproducts/displayoptions/title') == 'description'){
        $out .= "<ins><h4>{$pr->getName()}</h4></ins>";
    }
    $out .= "<span class=\"description\"".
            (!Mage::getStoreConfig('featuredproducts/displayoptions/description') ?
                    "style=\"display:none;\""
                :
                    ""
            )
            .">{$p['description']}</span>";
    $out .= "<ins><div>".
            (Mage::getStoreConfig('featuredproducts/displayoptions/price') ?
                    "<span style=\"font-size:45px\">{$pr->getPrice()}</span>"
                :
                    ""
            )       
            ."".
            (Mage::getStoreConfig('featuredproducts/displayoptions/bnb') ?
                    "<div><button style=\"postion:relative;margin-left:80px;margin-top:140px\" class=\"form-button\" onclick=\"setLocation('{$p["url"]}')\"><span>{$tpl->__('Buy Now')}</span></button></div>"
                :
                    "")
            ."
            </div></ins>";
    return $out;        
}

В показанном коде, когда я использую $pr- > getPrice(), его вывод выглядит как 299.0000, но я хочу, чтобы он был как 299,00. Как я могу это сделать?

Ответ 1

Попробуйте числовой формат

"<span style=\"font-size:45px\">{" . number_format($pr->getPrice(), 2) . "}</span>"

Ответ 2

Почему бы не попробовать это...

Mage::helper('core')->currency($pr->getPrice());

Он также дает вам символ валюты.

Ответ 3

Mage::helper('core')->currency($_product->getFinalPrice(),true,false);
  • "true" для формата цены.
  • "false" без html.

это я сделал в Magento 1.7.0.2

Ответ 4

или

sprintf("%0.2f",$_product->getFinalPrice());

Ответ 5

Использовать "круглый", поскольку формат числа не всегда работает правильно, в зависимости от местоположения и форматирования валюты:

<span style=\"font-size:45px\">{" . round($_product->getFinalPrice(),2) . "}</span>