Wie erhalte ich ein Währungssymbol anhand des Währungscodes?


22

Ich kann den Währungscode aus dem Bestellobjekt erhalten. Wie kann ich ein Währungssymbol daraus ableiten? Vorschläge werden geschätzt.


1
Wenn Sie eine dieser Antworten nützlich fanden, kennzeichnen Sie sie bitte als richtige Antwort.
Fabian Blechschmidt

Antworten:


61

Probier diese:

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

Bitte markieren Sie diese Antwort als richtig.
Gilles Lesire

27

Speichern Sie Währungscode zB. USD

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

Währungssymbol speichern zB. $

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

Speichern Sie den Namen der Währung, z. US Dollar

$currency_name = Mage::app()->getLocale()->currency( $currency_code)->getName();

Dies funktioniert nicht in 1.7
Gilles Lesire

6

Folgendes hat funktioniert.

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

3

Versuchen:

$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 () gibt das aktuelle Gebietsschema-Objekt zurück, nicht wahr? Ich möchte das Währungssymbol des angegebenen Währungscodes unabhängig vom Gebietsschema erhalten.
Sukeshini

Bitte überprüfen Sie einmal den Code. Es sollte funktionieren.
MagePsycho

Es funktioniert nicht, wenn Sie in Ihrem Gebietsschema ein anderes Symbol festgelegt haben. Es würde immer noch Ihr Standardwährungssymbol zurückgeben.
Shathish

@MagePsycho: Aktiviert. Es funktioniert nicht.
Sukeshini

Können Sie Ihren Code einfügen? Ich habe es gerade getestet und es hat gut funktioniert.
MagePsycho

2

Mit einem beliebigen Währungscode können Sie das Symbol mit Zend_Locale ableiten:

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

Entsprechend Ihrer Lösung müssen wir das Gebietsschema übergeben, um das Zend_Currency Objekt zu erstellen, oder? Was ich erwartet hatte, war, dass es eine Möglichkeit gibt, ein Währungssymbol unabhängig vom Gebietsschema zu erhalten? Ich meine, wenn wir nur den Währungscode übergeben, bekommen wir dann ein Währungssymbol in Magento CE 1.7?
Sukeshini

Sie können jedes Gebietsschema an zend currency übergeben
philwinkle


Mein Problemhintergrund ist so. Ich habe mehrere Geschäfte mit mehreren Websites. Ich erstelle eine PHP-Datei, die außerhalb des Projekts ausgeführt wird und die gesamte Auftragserfassung unabhängig vom Geschäft oder einem anderen Faktor abruft. In diesem Fall kann ich, wenn ich alle Einzelheiten einer Bestellung erhalte, den Gesamtbetrag der Bestellung und den Währungscode als separate Werte erhalten. Ich möchte das Währungssymbol erhalten und die Gesamtsumme der Bestellung als vollständigen Betrag in meiner PHP-Datei anzeigen. Ich kann also nicht das gewünschte Gebietsschema angeben. Danke im Voraus.
Sukeshini

2

Übergeben Sie einfach den Wert in Variable .. Gibt den aktuellen Preis für das Währungsformat zurück

$Formatted_Price = Converted Price with Currency 
$Variable_Price  = Your Variable value
$Formatted_Price= Mage::helper('core')->currency($Variable_Price, true, false);
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.