2015-11-16 2 views
2

Comment créer un champ date/heure dans le bundle Sonata Admin qui utilise sonata_type_datetime_picker? Lorsque je clique sur submit, le profileur de Symfony montrera l'erreur comme montré dans l'image ci-dessous. Errordatetimepicker dans Sonata Admin ne fonctionne pas

Voici mon code:

EventAdmin.php

class EventAdmin extends Admin 
    { 
     // Fields to be shown on create/edit forms 
     protected function configureFormFields(FormMapper $formMapper) 
     { 
      $formMapper 
       ->add('eventDate', 'sonata_type_datetime_picker', array(
        'label' => 'Event Date', 
        'format' => 'YYYY-MM-DD HH:mm:ss', 
        'dp_language' => 'en', 
        'dp_side_by_side'  => true, 
        'dp_use_current'  => false, 
        'datepicker_use_button' => false, 
       )) 
      ; 
     } 
    } 

event.php

/** 
    * @ORM\Column(type="datetime") 
    */ 
    protected $eventDate; 

    /** 
    * Set eventDate 
    * 
    * @param \DateTime $eventDate 
    * 
    * @return Event 
    */ 
    public function setEventDate($eventDate) 
    { 
     $this->eventDate = $eventDate; 

     return $this; 
    } 

    /** 
    * Get eventDate 
    * 
    * @return \DateTime 
    */ 
    public function getEventDate() 
    { 
     return $this->eventDate; 
    } 
+0

Avez-vous essayé -> add ('eventDate', 'sonata_type_datetime_picker') sans aucune option? –

+0

@GeorgeIrimiciuc Ya, le programme datepicker fonctionne sans ajouter d'options car il utilise les options par défaut. ''format' => DateTimeType :: HTML5_FORMAT'. Comment puis-je spécifier mon propre format d'affichage? – DavidODW

+0

Je reçois la même erreur - quel que soit le format, l'erreur reste la même. symfony 3.2.1, admin sonata 3.1 – dagger

Répondre

2

Je crois que vos seules options pour la mise en forme est une combinaison de ces lettres:

'format'=>"YYYY-MM-D h:mm:ss a" //2015-01-19 8:05:00 AM 

Vous pouvez ajouter ou soustraire chaque lettre pour différents formats. Par exemple, YYYY-MMM-DD HH:mm affichera 2015-Jan-19 08:05

+0

Si j'ajoute mes propres options au lieu d'utiliser les options par défaut, il montrera l'erreur. L'ajout de '' format'' changera le format d'affichage du format datetimepicker, mais cela générera une erreur si le formulaire est soumis. – DavidODW

+0

Étrange, j'ai couru un exemple avec exactement tous vos paramètres et cela a fonctionné. Il conserve le format et l'enregistre dans la base de données. Avez-vous mis à jour votre schéma? Que vous montre -dump-sql? Peut-être que votre base de données attend un certain format? –

+0

Le profileur n'affichait aucun journal de doctrine pour l'instant, donc je pense que cela se produit avant d'enregistrer dans la base de données. Il suffit d'afficher le message flash 'Une erreur s'est produite lors de la création de l'élément" AppBundle \ Entity \ Event: 000000007701e48b000000001dceecdf ".' et le champ datepicker est surligné en rouge. Il est possible que ce soit une erreur de validation html? – DavidODW