Как получить символ валюты по коду валюты?

22

Я могу получить код валюты из объекта заказа. Как я могу получить символ валюты, используя его? Любые предложения будут оценены.

Sukeshini
источник
1
Если вы нашли один из этих ответов полезным, отметьте его как правильный ответ.
Фабиан Блехшмидт

Ответы:

61

Попробуй это:

Mage::app()->getLocale()->currency(Mage::app()->getStore()->getCurrentCurrencyCode())->getSymbol();
Praful S Zaru
источник
Пожалуйста, отметьте этот ответ как правильный.
Жиль Лезире
27

Хранить код валюты, например. доллар США

$currency_code = Mage::app()->getStore()->getCurrentCurrencyCode();

хранить символ валюты, например. $

$currency_symbol = Mage::app()->getLocale()->currency( $currency_code )->getSymbol();

название валюты магазина, например. Доллар США

$currency_name = Mage::app()->getLocale()->currency( $currency_code)->getName();
Suman KC
источник
Это не работает в 1.7
Gilles Lesire
6

Следующее сработало.

// store currency symbol eg. $ 
$currency_symbol = Mage::app()->getLocale()->currency( $currency_code )->getSymbol();
Sukeshini
источник
3

Пытаться:

$currencyCode   = '';
$currency       = $order->getOrderCurrency(); //$order object
if (is_object($currency)) {
    $currencyCode = $currency->getCurrencyCode();
}
$currencySymbol = Mage::app()->getLocale()->currency($currencyCode)->getSymbol();
var_dump($currencySymbol);
MagePsycho
источник
Mage :: app () -> getLocale () вернет текущий объект локали, не так ли? То, что я хочу, это получить символ валюты данного кода валюты независимо от локали.
Sukeshini
Пожалуйста, проверьте один раз код. Он должен работать.
MagePsycho
Это не будет работать, если вы установили другой символ в вашей локали. Он все равно вернет ваш символ валюты по умолчанию.
Шатиш
@MagePsycho: проверено. Это не работает.
Sukeshini
Вы можете вставить свой код? Я только что проверил, и это работало нормально для меня.
MagePsycho
2

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

$curr = new Zend_Currency('en_US');
echo $curr->getSymbol();
philwinkle
источник
Согласно вашему решению, мы должны передать локаль для создания объекта Zend_Currency, верно? Что я ожидал, есть ли способ получить символ валюты независимо от локали? Я имею в виду, просто передав код валюты, мы можем получить символ валюты в magento CE 1.7?
Sukeshini
Вы можете пройти любую локаль в Zend Currency
Philwinkle
Да. Посмотреть документы framework.zend.com/manual/1.12/en/zend.currency.html
philwinkle,
Моя проблема фон, как это. У меня есть несколько магазинов с несколькими сайтами. Я создаю php-файл, который запускается за пределами проекта и получает всю коллекцию заказов независимо от магазина или любого другого фактора. В этом случае, если я получу все детали заказа, я могу получить общую сумму заказа и код валюты в виде отдельных значений. Я хочу получить символ валюты и показать сумму заказа в виде полной суммы в моем php-файле. Так что я не могу указать, какой язык мне нужен. Заранее спасибо.
Sukeshini
2

Просто передайте значение в переменной .. вернет текущую цену формата валюты

$Formatted_Price = Converted Price with Currency 
$Variable_Price  = Your Variable value
$Formatted_Price= Mage::helper('core')->currency($Variable_Price, true, false);
Ашвини Марвал
источник