Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je suis entrain de faire une aide de vue pour afficher le format de monnaie :
<?php class Zend_View_Helper_Currency extends Zend_View_Helper_Abstract { public function currency($solde, $idaccount, $format = null) { $account = new Public_Models_Account; $account = $account->getElementById($idaccount); $currency = new Zend_Currency($account->currency); if (!is_null($format)) { $currency->setFormat(array('format' => $format)); } return $currency->toCurrency($solde); } } ?>
le troisième paramètre, me permet de definir le nombre de chiffre après la virgule comme dans le doc de Zend :
$currency->setFormat(array('format' => '##0.00'));
J'ai donc fais ceci :
$this->currency('1.6059', '1', '##0.00')
Mais j'ai cette erreur :
<br /> <b>Fatal error</b>: Uncaught exception 'Zend_Currency_Exception' with message ''##0.00' is not a known locale.' in H:\wamp\www\trader\Core\Zend\Currency.php:573 Stack trace: #0 H:\wamp\www\trader\Core\Zend\Currency.php(250): Zend_Currency->_checkOptions(Array) #1 H:\wamp\www\trader\Core\View\Helper\Currency.php(10): Zend_Currency->setFormat(Array) #2 [internal function]: Zend_View_Helper_Currency->currency('11', '79', '##0.00') #3 H:\wamp\www\trader\Core\Zend\View\Abstract.php(340): call_user_func_array(Array, Array) #4 [internal function]: Zend_View_Abstract->__call('currency', Array) #5 H:\wamp\www\trader\Application\Ajax\Views\Scripts\Books\Add-line.php(6): Zend_View->currency('11', '79', '##0.00') #6 H:\wamp\www\trader\Core\Zend\View.php(108): include('H:\wamp\www\tra...') #7 H:\wamp\www\trader\Core\Zend\View\Abstract.php(831): Zend_View->_run('Application\Aja...') #8 H:\wamp\www\trader\Core\Zend\Controller\Action\Helper\ViewRenderer.php(903): Zend_View_Abstract->render('books/add-line....') #9 H:\wamp\www\trader\Core\Zend\C in <b>H:\wamp\www\trader\Core\Zend\Currency.php</b> on line <b>573</b><br />
Pouvez vous m'aider s'il vous plait ?
Merci d'avance,
Bien cordialement.
Dernière modification par nicko (15-12-2009 12:01:28)
Hors ligne
Hello,
Cet helper est prévu pour la 1.10 et est présent et fonctionnel dans l'incubator.
@+
Hors ligne
Merci mikaelkael,
Donc si je comprends bien dans mon cas, je ne peux rien faire ?
Hors ligne
Hello,
Regardes http://framework.zend.com/code/browse/~ … rency.php, c'est le composant qui sera en 1.10
Dans ton composant, c'est le setFormat() ligne 10 qui ne fonctionne pas, Zend_Currency attend une locale.
@+
Hors ligne
Merci pour le lien, mais le format des chiffre n'a pas l'air d'y être (peut être que je me trompe).
En faite je souhaite avoir une valeur de ce type 1.45455 €.
Hors ligne
Je cherchais la même information. Je l'ai trouvé, je vous la partage, même si c'est un peu tard.
$currency->setFormat(array('precision' => 9));
Avantage de cette méthode : elle conserve le format de la locale.
Bonne journée.
Hors ligne
Pages: 1