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.


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

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

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

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

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

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


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);
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.