Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
J'ai compris l'utilisation du viewhelper dateformat.
Par contre je voudrait mettre un format autre que FULL, MEDIUM ou NONE
Je voudrait faire un format type : "d F Y"
J'ai essayé un truc dans le genre mais sans succés. Et dans le guide zf2 c'est pas documenté
<?php echo $this->dateFormat( new DateTime(), IntlDateFormatter::create( "fr_FR" ,IntlDateFormatter::FULL, IntlDateFormatter::NONE, 'Europe/Paris',IntlDateFormatter::GREGORIAN ,"d F Y"), // date IntlDateFormatter::NONE, // time "fr_FR" );?>
Hors ligne
Je n'ai pas regardé ton code, mais as-tu l'extension intl activée sur ton serveur ?
Hors ligne
ouep, j'ia fai tun petit coup de aptitude install php5-intl
dateFormat() marche bien avec les format standart MEDIUM ou LONG
Hors ligne
Salut, ton problème n'est pas lié à l'extension intl de toute façon. Elle est simplement nécessaire pour pouvoir utiliser les composant I18n du ZF mais c'est tout .
En fait l'aide de vue qui est fournie avec le ZF2 ne peux pas prendre d'autres paramètres que ceux-ci pour le format de la date :
[lang=php]/** * Completely specified style (Tuesday, April 12, 1952 AD or 3:30:42pm PST) * @link http://php.net/manual/en/intl.intldateformatter-constants.php */ const FULL = 0; /** * Long style (January 12, 1952 or 3:30:32pm) * @link http://php.net/manual/en/intl.intldateformatter-constants.php */ const LONG = 1; /** * Medium style (Jan 12, 1952) * @link http://php.net/manual/en/intl.intldateformatter-constants.php */ const MEDIUM = 2; /** * Most abbreviated style, only essential data (12/13/52 or 3:30pm) * @link http://php.net/manual/en/intl.intldateformatter-constants.php */ const SHORT = 3; /** * Do not include this element * @link http://php.net/manual/en/intl.intldateformatter-constants.php */ const NONE = -1; /** * Gregorian Calendar * @link http://php.net/manual/en/intl.intldateformatter-constants.php */ const GREGORIAN = 1; /** * Non-Gregorian Calendar * @link http://php.net/manual/en/intl.intldateformatter-constants.php */ const TRADITIONAL = 0;
Ensuite tu utilises mal l'aide de vue tu n'as pas besoin de pousser aussi loin que tu le fais le pattern pour customiser la date comme on le souhaite semble être pris en compte donc essai quelque chose comme ça :
[lang=php]<?php echo $this->dateFormat(new DateTime(), IntlDateFormatter::NONE, IntlDateFormatter::NONE, "fr_FR", 'd F Y');?>
Si ça ne fonctionne pas tu peux avoir des brides d'informations pour faire ta propre aide de vue ici :
http://www.php.net/manual/fr/intldatefo … create.php
http://userguide.icu-project.org/formatparse/datetime
Hors ligne
Humm balot mais ça marche pas. Je suis allé jeter un oeil au code du viewHelper de dateformat et il ne prend pas en compte un 5eme argument.
Je vais regardé pour faire mon propre view helper
Hors ligne
Eu t'es pas à jour alors parce que chez moi il y en a 5 voici la définition de la fonction __invoke du dateformat
[lang=php]/** * Format a date. * * @param DateTime|integer|array $date * @param int $dateType * @param int $timeType * @param string $locale * @param string|null $pattern * @return string */ public function __invoke( $date, $dateType = IntlDateFormatter::NONE, $timeType = IntlDateFormatter::NONE, $locale = null, $pattern = null ) { ... }
Edit: effectivement, je suis un peu trop en avance c'est dans la version 2.1.0 qu'il y a cette modification. Donc ça ne devrait plus trop tarder. PR apporté par notre cher Bakura d'ailleurs :p
Hors ligne
Arf !!! Déjà que j'ai du mal à mettre la version 2.0.3 qui me renvois une erreur
Mais c'est super d'avoir amélioré cet helpers. Je vais voir si je peux pas aller juste piquer le helper et le mettre dans mon module.
Thanks !
Hors ligne