2017-09-20 4 views
5

Ich habe ein kleines Problem Ich arbeite an einem kleinen Projekt mit Sonate, aber ich versuche herauszufinden, wie man den Datumsbereich anpassen kann, den eine Person wählen kann, Beispiel vom 1. Januar 2000 bis zum 31. Dezember 2020 Könnte mir jemand sagen, wo ich es in der Sonata-Dokumentation finden kann oder mir zeigen, wie es geht? Weil ich ein wenig gucke und ich habe nichts, um die Wahl der Daten vollständig anzupassen.Sonate Datumsbereich

Vielen Dank im Voraus

Edit:

In Symfony Dokumentation fand ich diese

'days' => range(1,31) 

hier: http://symfony.com/doc/current/reference/forms/types/date.html

Aber ich kann nichts in der Sonate doc gefunden. Und funktioniert nicht wie auf Symfony:/

Antwort

3

Ich nehme an, Sie verwenden sonata_type_date_picker Feld in Sonata. Dokumentation ist here. Dann kann Ihr Fall wie folgt umgesetzt werden:

->add('userDate', 'sonata_type_date_picker', [ 
    'dp_min_date' => 'Jan 1, 2000', //todo: date format here depends on your setup. Basicly it's the same format, you see in text field after you selected data in datepicker. 
    'dp_max_date' => 'Dec 31, 2020', 
]); 

Alternativ können Sie Datumsauswahl mit 3 Dropdown-Listen haben - es ist Standard Symfony Datum Feld, arbeitet mit SonataAdmin fein:

->add('userDate', 'date', [ 
    'years' => range(2000, 2020), 
]); 

Ich würde auch empfehlen Hinzufügen von Backend-Validierung mit den gleichen Regeln (in Entität):

/** 
* @var \DateTime() 
* 
* @Assert\Range(
*  min = "2000-01-01", 
*  max = "2020-12-31" 
*) 
*/ 
protected $userDate; 
+0

Danke, aber ich habe es verwendet, aber ich kann sie nicht auswählen. Jetzt ist es wie ein Textbereich, den ich benutzt habe -> add ('userDate', 'date', ....) und ich konnte es auswählen. Es war einfacher für die Benutzer. Weißt du, wie ich das mit 'sonata_type_date_picker' tun kann? – Jeremy

+1

Also, willst du 3 Dropdowns oder eine Datumsauswahl? Bei der Datumsauswahl sehen Sie eine Texteingabe. Sie müssen der Seite etwas JavaScript hinzufügen (kann über config gemacht werden) und dann sehen Sie zusätzlich zur Texteingabe datepicker. –

+0

Wenn es möglich ist, eine 3 Dropdown zu haben, wird es perfekt sein – Jeremy

Verwandte Themen