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 :

Afficher input datetime dans Twig [4.x]


Sujet :

Symfony PHP

  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut Afficher input datetime dans Twig
    Bonjour,

    Depuis deux jours, je me casse un peu la tête sur un problème : dans un formulaire twig, je voudrais afficher l'input pour encoder une date (uniquement le mois et l'année), éventuellement à l'aide d'un calendrier. Je n'y parviens pas. La seule chose que je parviens à obtenir, c'est cet affichage affreux :

    Nom : Capture.JPG
Affichages : 2978
Taille : 13,0 Ko

    Voici le code dans mon entité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        /**
         * @ORM\Column(type="datetime")
         */
        private $manufactureDate;
    Celui dans mon formulaire php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            $builder
                ->add('manufactureDate')
    Et pour finir, dans mon formulaire twig :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            {{ form_label(formAdvert.vehicle.manufactureDate, 'Date de construction du véhicule', {'label_attr': {'class': 'foo'}}) }}
            {{ form_errors(formAdvert.vehicle.manufactureDate) }}
            {{ form_widget(formAdvert.vehicle.manufactureDate) }}
    Quelqu'un pourrait m'aider?

    Merci d'avance :-)

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Par défaut
    Bonjour,

    il ya plein de chose dans la doc
    https://symfony.com/doc/4.1/referenc...ypes/date.html

    personnellement, j 'utilise la biblio js de datepicker c'est custom+beau

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Merci pour ta réponse... J'avais vu cette documentation, mais quand je l'applique, j'ai une erreur de type "impossible de convertir en string".

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Par défaut
    dans la doc il y a une partie consacrée au format.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
    // champ date avec sous forme de liste déroulante
    $builder->add('manufactureDate', DateType::class, array(
                'format' => 'yyyy-MM-dd', 
            ));
     
     
     
    //  OU
    // champ date avec un calendrier
    $builder->add('manufactureDate', DateType::class, array(
                'widget' => 'single_text', 
                'format' => 'yyyy-MM-dd', 
            ));

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Par défaut
    j'ai oublié d'importé le type datetime
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    use Symfony\Component\Form\Extension\Core\Type\DateType;

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Super, merci! Je ne sais pas ce que j'avais commis comme erreur auparavant, mais là, maintenant, j'obtiens bien un champs avec appel au calendrier. Y aurait-il la possibilité de n'utiliser que l'année et le mois? Le jour n'est pas intéressant dans ce que je veux en faire...

  7. #7
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Par défaut
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     'format' => 'yyyy-MM-dd',
    t ' as pas essayé ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
     'format' => 'yyyy-MM',

  8. #8
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Par défaut
    Citation Envoyé par MehrezLabidi Voir le message
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     'format' => 'yyyy-MM-dd',
    t ' as pas essayé ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
     'format' => 'yyyy-MM',
    je ne pense pas que ça passe. dans la classe DateType il y a une expression régulière qui vérifie la présence des items :y,m,d.
    sinon tu peux simplement masquer affichage du champ day dans la vue twig.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {{ form_widget(form.manufactureDate.day, {'attr': {  'style': 'display:none'}}) }}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $builder->add('manufactureDate', DateType::class, array(
                'format' => 'yyyy-MMdd', 
            ));

  9. #9
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Ok, merci!

+ Répondre à la discussion
Cette discussion est résolue.

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