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.

Sukeshini
la source
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();
Praful S Zaru
la source
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();
Suman KC
la source
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();
Sukeshini
la source
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);
MagePsycho
la source
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();
philwinkle
la source
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
Oui. Voir les documents framework.zend.com/manual/1.12/en/zend.currency.html
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);
Ashvini Marwal
la source