IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Twig & time_diff


Sujet :

Symfony PHP

  1. #1
    Membre éprouvé Avatar de Charvalos
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2010
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2010
    Messages : 353
    Points : 1 264
    Points
    1 264
    Par défaut Twig & time_diff
    Bonjour à tous !

    Je viens vous car je fais face à un problème que je n'arrive pas à résoudre.

    J'aimerais savoir la différence entre deux dates, une contenue dans la base de donnée et l'autre qui correspond à la date du jour.

    Dans Twig, je fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {{ dump(jobOffer.renewalDate|time_diff) }}
    Le but que j'aimerais atteindre est que si la différence est plus petite 14 jours, ma ligne de mon tableau change de couleur. Mais le problème que j'ai, c'est que dump me sort ceci :

    "diff.in.month"
    Je ne comprends pourquoi il m'affiche ceci sachant que ma date correspond à ceci :

    DateTime @1538473731 {#6811 ▼
    date: 2018-10-02 11:48:51.0 Europe/Berlin (+02:00)
    }
    alors que selon la documentation, il devrait me sortir les nombres précis.

    Une idée ?

    Merci d'avance !
    "Non, je ne dois rien à personne
    Et je ne méprise personne".


    Je ne réponds pas aux message techniques par MP !

  2. #2
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Bonjour,

    La documentation indique en bas de page que c'est le format retourné :

    Translation
    To get a translatable output, give a Symfony\Component\Translation\TranslatorInterface as constructor argument. The returned string is formatted as diff.ago.XXX or diff.in.XXX where XXX can be any valid unit: second, minute, hour, day, month, year.
    À l'endroit ou tu référence ta twig extension, tu dois passer une instance de TranslatorInterface si tu veux que cette chaine soit traduite.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $translator = ... // Instance de Symfony\Component\Translation\TranslatorInterface que tu injectes dans cette classe par exemple
    $twig->addExtension(new Twig_Extensions_Extension_Date($translator));
    Ta chaine "diff.in.month" qui est une clé de traduction, sera alors traduite en "x months ago", mais à aucun moment cette extension ne peut te retourner de "nombre précis".

  3. #3
    Membre éprouvé Avatar de Charvalos
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2010
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2010
    Messages : 353
    Points : 1 264
    Points
    1 264
    Par défaut
    Ah ok.

    Par contre, j'ai activé l'extension via services.yml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    twig.extension.date:
            class: Twig_Extensions_Extension_Date
            tags:
                - { name: twig.extension }
    Du coup, comment passer le paramètre ?
    "Non, je ne dois rien à personne
    Et je ne méprise personne".


    Je ne réponds pas aux message techniques par MP !

  4. #4
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    twig.extension.date:
        class: Twig_Extensions_Extension_Date
        arguments:
            - '@translator'
        tags:
            - { name: twig.extension }

  5. #5
    Membre éprouvé Avatar de Charvalos
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2010
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2010
    Messages : 353
    Points : 1 264
    Points
    1 264
    Par défaut
    Je dois louper quelque chose car même en rajoutant la partie arguments dans mon fichier de services, cela ne change rien au niveau de l'affichage.
    "Non, je ne dois rien à personne
    Et je ne méprise personne".


    Je ne réponds pas aux message techniques par MP !

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo