Jak zdobyć symbol waluty według kodu waluty?

22

Mogę uzyskać kod waluty z obiektu zamówienia. Jak mogę uzyskać symbol waluty, używając go? Wszelkie sugestie będą mile widziane.

Sukeshini
źródło
1
Jeśli uważasz, że jedna z tych odpowiedzi była przydatna, oznacz ją jako prawidłową.
Fabian Blechschmidt,

Odpowiedzi:

61

Spróbuj tego:

Mage::app()->getLocale()->currency(Mage::app()->getStore()->getCurrentCurrencyCode())->getSymbol();
Praful S Zaru
źródło
Proszę zaznaczyć tę odpowiedź jako poprawną.
Gilles Lesire,
27

Przechowuj kod waluty, np. USD

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

przechowywać symbol waluty np. $

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

przechowuj nazwę waluty np. Dolar

$currency_name = Mage::app()->getLocale()->currency( $currency_code)->getName();
Suman KC
źródło
To nie działa w wersji 1.7
Gilles Lesire,
6

Następujące działało.

// store currency symbol eg. $ 
$currency_symbol = Mage::app()->getLocale()->currency( $currency_code )->getSymbol();
Sukeshini
źródło
3

Próbować:

$currencyCode   = '';
$currency       = $order->getOrderCurrency(); //$order object
if (is_object($currency)) {
    $currencyCode = $currency->getCurrencyCode();
}
$currencySymbol = Mage::app()->getLocale()->currency($currencyCode)->getSymbol();
var_dump($currencySymbol);
MagePsycho
źródło
Mage :: app () -> getLocale () zwróci bieżący obiekt ustawień regionalnych, prawda? Chcę uzyskać symbol waluty danego kodu waluty bez względu na ustawienia regionalne.
Sukeshini,
Sprawdź raz kod. To powinno działać.
MagePsycho
To nie zadziała, jeśli ustawisz inny symbol w swoich ustawieniach regionalnych. Nadal zwróci domyślny symbol waluty.
Shathish,
@MagePsycho: Zaznaczone. To nie działa.
Sukeshini,
Czy możesz wkleić kod? Właśnie przetestowałem i działało dla mnie dobrze.
MagePsycho
2

Za pomocą dowolnego kodu waluty możesz uzyskać symbol za pomocą Zend_Locale:

$curr = new Zend_Currency('en_US');
echo $curr->getSymbol();
philwinkle
źródło
Zgodnie z Twoim rozwiązaniem musimy przekazać ustawienia regionalne, aby utworzyć obiekt Zend_Currency, prawda? Oczekiwałem, że istnieje sposób na uzyskanie symbolu waluty bez względu na lokalizację? Mam na myśli to, że przekazując kod waluty, możemy uzyskać symbol waluty w Magento CE 1.7?
Sukeshini,
Możesz przekazać dowolny lokal do waluty
Zend
Tak. Zobacz dokumentację framework.zend.com/manual/1.12/en/zend.currency.html
philwinkle
Moje tło problemu jest takie. Mam kilka sklepów z kilkoma stronami internetowymi. Tworzę plik php, który działa poza projektem i uzyskuję całą kolekcję zamówień bez względu na sklep lub inny czynnik. W takim przypadku, jeśli otrzymam wszystkie szczegóły zamówienia, mogę uzyskać całkowitą kwotę zamówienia i kod waluty jako osobne wartości. Chcę uzyskać symbol waluty i pokazać sumę zamówienia jako pełną kwotę w moim pliku php. Nie mogę więc podać tego, co chcę. Z góry dziękuję.
Sukeshini,
2

Wystarczy podać wartość w zmiennej .. zwróci bieżącą cenę w formacie waluty

$Formatted_Price = Converted Price with Currency 
$Variable_Price  = Your Variable value
$Formatted_Price= Mage::helper('core')->currency($Variable_Price, true, false);
Ashvini Marwal
źródło