2017-09-18 3 views
0

Je dispose d'un fichier _form.php avec ce domaine:Yii2: Comment formater le numéro d'entrée en devise es-AR?

<?= 
$form->field($model, 'price') 
->textInput([ 
    'class' => 'form-control', 
    'type' => 'number' 
]) 
?> 

Le prix a ce format 1234.50. Je voudrais avoir le format es-AR, comme ceci: 1234,50.

Dans le GridView de index.php J'utilise ce code et il fonctionne très bien donc je voudrais faire la même chose dans le _form mais il ne fonctionne pas.

[ 
    'attribute' => 'price', 
    'value' => function($myModel) { 
     $myFormat = new NumberFormatter("es-AR", NumberFormatter::CURRENCY); 
     return $myFormat->formatCurrency($myModel->price, "ARS"); 
    }, 
] 
+0

Vous pouvez définir le formatage currencty directement dans le composant principal https://stackoverflow.com/questions/31201 293/yii2-comment-mettre-monnaie-dans-main-config – scaisEdge

Répondre

0

Il y a 2 façons de le faire:

  • Ajouter une classe supplémentaire au champ et en utilisant javascript pour convertir au format que vous voulez (souvenez-vous de revenir en arrière sur Soumettre)
  • Créer priceFormat() et utilisez-le sur l'événement AfterFind et n'oubliez pas d'utiliser priceUnFormat() pour retourner en décimal sur BeforeSave