Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 17-11-2012 18:08:26

mtcocktail
Membre
Date d'inscription: 20-09-2012
Messages: 71

dateformat viewhelper

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é sad

Code:

<?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

 

#2 18-11-2012 00:29:28

Bouks
Membre
Lieu: Paris
Date d'inscription: 31-08-2012
Messages: 241

Re: dateformat viewhelper

Je n'ai pas regardé ton code, mais as-tu l'extension intl activée sur ton serveur ?


22914720

Hors ligne

 

#3 18-11-2012 09:46:52

mtcocktail
Membre
Date d'inscription: 20-09-2012
Messages: 71

Re: dateformat viewhelper

ouep, j'ia fai tun petit coup de aptitude install php5-intl


dateFormat() marche bien avec les format standart MEDIUM ou LONG

Hors ligne

 

#4 19-11-2012 10:54:48

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: dateformat viewhelper

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 smile.

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 :

Code:

[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 :

Code:

[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

 

#5 19-11-2012 11:25:48

mtcocktail
Membre
Date d'inscription: 20-09-2012
Messages: 71

Re: dateformat viewhelper

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 sad

Hors ligne

 

#6 19-11-2012 11:30:21

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: dateformat viewhelper

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

Code:

[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

 

#7 19-11-2012 11:36:34

mtcocktail
Membre
Date d'inscription: 20-09-2012
Messages: 71

Re: dateformat viewhelper

Arf !!! Déjà que j'ai du mal à mettre la version 2.0.3 qui me renvois une erreur smile

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages