Comment obtenir le symbole de devise par code de devise?


22

Je peux obtenir le code devise de l'objet de commande. Comment puis-je dériver le symbole monétaire en l'utilisant? Toute suggestion sera appréciée.


1
Si vous avez trouvé une de ces réponses utile, veuillez les signaler comme réponse correcte.
Fabian Blechschmidt

Réponses:


61

Essaye celui-là:

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

Veuillez marquer cette réponse comme correcte.
Gilles Lesire

27

Enregistrer le code de devise, par exemple. USD

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

stocker le symbole monétaire, par exemple. $

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

stocker le nom de la monnaie, par exemple. Dollars américain

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

Cela ne fonctionne pas en 1.7
Gilles Lesire

6

Ce qui suit a fonctionné.

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

3

Essayer:

$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 () retournera l'objet local actuel n'est-ce pas? Ce que je veux, c'est obtenir le symbole monétaire du code de devise donné, quel que soit le lieu.
Sukeshini

Veuillez vérifier une fois le code. Ça devrait marcher.
MagePsycho

Cela ne fonctionnera pas si vous avez défini un symbole différent dans vos paramètres régionaux. Il retournerait toujours votre symbole monétaire par défaut.
Shathish

@MagePsycho: vérifié. Ça ne marche pas.
Sukeshini

Pouvez-vous coller votre code? Je viens de tester et cela fonctionnait bien pour moi.
MagePsycho

2

En utilisant n'importe quel code de devise donné, vous pouvez dériver le symbole en utilisant Zend_Locale:

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

Selon votre solution, nous devons passer les paramètres régionaux pour créer un objet Zend_Currency non? Ce à quoi je m'attendais, est-ce qu'il y a un moyen d'obtenir le symbole monétaire quel que soit le lieu? Je veux dire en passant simplement le code de devise, pouvons-nous obtenir le symbole de devise dans magento CE 1.7?
Sukeshini du

Vous pouvez passer n'importe quel lieu en monnaie zend
philwinkle


Mon arrière-plan de problème est comme ça. J'ai plusieurs magasins avec plusieurs sites Web. Je crée un fichier php qui s'exécute en dehors du projet et obtient toute la collection de commandes indépendamment du magasin ou de tout autre facteur. Dans ce cas, si j'obtiens tous les détails d'une commande, je peux obtenir le montant total de la commande et le code de devise sous forme de valeurs distinctes. Je veux obtenir le symbole monétaire et afficher le total de la commande sous forme de montant complet dans mon fichier php. Je ne peux donc pas mettre ce que je veux. Merci d'avance.
Sukeshini

2

Passez simplement la valeur dans la variable .. retournera le prix actuel du format monétaire

$Formatted_Price = Converted Price with Currency 
$Variable_Price  = Your Variable value
$Formatted_Price= Mage::helper('core')->currency($Variable_Price, true, false);
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.