Як отримати символ валюти за кодом валюти?


22

Я можу отримати код валюти від об’єкта замовлення. Як я можу отримати символ валюти, використовуючи його? Будь-які пропозиції будуть вдячні.


1
Якщо ви знайшли одну з цих відповідей корисною, будь ласка, позначте їх як правильну відповідь.
Фабіан Блешшмідт

Відповіді:



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
Жиль Лесір

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 () поверне поточний об'єкт локалі, чи не так? Я хочу отримати символ валюти даного коду валюти незалежно від місцевості.
Сукешині

Будь ласка, перевірте один раз код. Це має працювати.
MagePsycho

Це не спрацює, якщо ви встановили інший символ у вашій мові. Він все одно поверне ваш символ валюти за замовчуванням.
Шатіш

@MagePsycho: Перевірено. Це не працює.
Сукешині

Чи можете ви вставити код? Я щойно тестував, і це добре працювало для мене.
MagePsycho

2

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

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

Відповідно до вашого рішення, ми повинні передати локаль, щоб створити об’єкт Zend_Currency? Що я очікував, чи є спосіб отримати символ валюти незалежно від місцевості? Я маю на увазі, просто передавши код валюти, чи можемо ми отримати символ валюти в magento CE 1.7?
Сукешині

Ви можете передати будь-яку
локальну


Моя проблема проблеми така. У мене є кілька магазинів з кількома веб-сайтами. Я створюю файл php, який працює за межами проекту, і отримую всю колекцію замовлень незалежно від магазину чи будь-якого іншого фактора. У такому випадку, якщо я отримаю всі деталі замовлення, я можу отримати загальну суму замовлення та код валюти як окремі значення. Я хочу отримати символ валюти і показати загальну суму замовлення у повній сумі у моєму файлі php. Тож я не можу поставити будь-яку локаль, яку хочу. Заздалегідь спасибі.
Сукешині

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.