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


22

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


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

Ответы:


61

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

Mage::app()->getLocale()->currency(Mage::app()->getStore()->getCurrentCurrencyCode())->getSymbol();

Пожалуйста, отметьте этот ответ как правильный.
Жиль Лезире

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();

Это не работает в 1.7
Gilles Lesire

6

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

// store currency symbol eg. $ 
$currency_symbol = Mage::app()->getLocale()->currency( $currency_code )->getSymbol();

3

Пытаться:

$currencyCode   = '';
$currency       = $order->getOrderCurrency(); //$order object
if (is_object($currency)) {
    $currencyCode = $currency->getCurrencyCode();
}
$currencySymbol = Mage::app()->getLocale()->currency($currencyCode)->getSymbol();
var_dump($currencySymbol);

Mage :: app () -> getLocale () вернет текущий объект локали, не так ли? То, что я хочу, это получить символ валюты данного кода валюты независимо от локали.
Sukeshini

Пожалуйста, проверьте один раз код. Он должен работать.
MagePsycho

Это не будет работать, если вы установили другой символ в вашей локали. Он все равно вернет ваш символ валюты по умолчанию.
Шатиш

@MagePsycho: проверено. Это не работает.
Sukeshini

Вы можете вставить свой код? Я только что проверил, и это работало нормально для меня.
MagePsycho

2

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

$curr = new Zend_Currency('en_US');
echo $curr->getSymbol();

Согласно вашему решению, мы должны передать локаль для создания объекта 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);
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.