Con la versione appena rilasciata di Zend Framework 2, two new form elements were added; DateSelect
e MonthSelect
. Voglio usare il primo, che aggiunge tre selezioni; giorno, mese e anno. Tuttavia, ho un problema nel formattare l'output come voglio - e, non c'è documentazione per questo!Zend Framework 2 DateSelect/MonthSeleziona formattazione
sto aggiungendo l'elemento del modulo alla mia forma come questo (tratto da this page):
$this->add(array(
'type' => 'Zend\Form\Element\DateSelect',
'name' => 'birthDate',
'options' => array(
'label' => 'Date',
'create_empty_option' => true,
'day_attributes' => array(
'data-placeholder' => 'Day',
'style' => 'width: 20%',
),
'month_attributes' => array(
'data-placeholder' => 'Month',
'style' => 'width: 20%',
),
'year_attributes' => array(
'data-placeholder' => 'Year',
'style' => 'width: 20%',
)
)
));
per l'output, che sto facendo in questo modo:
echo $this->formDateSelect($form->get('birthDate'));
Il fatto è che io don Sappiamo come controllare il modo in cui i file selezionati sono formattati. Ad esempio, sono attualmente emessi in questo formato: [month] [day], [year]
. Voglio cambiare due cose; prima, voglio cambiare giorno e mese, e in secondo luogo, voglio eliminare la virgola.
Gli helper utilizzano la classe IntlDateFormatter
per formattare i selezioni. Nel codice sorgente, ho notato che è possibile utilizzare il predefined constants per il tipo di data quando si chiama __invoke()
[link to source code], in questo modo:
echo $this->formDateSelect($form->get('birthDate'), IntlDateFormatter::SHORT);
aver provato tutte le costanti, non riesco ancora a ottenere il formato che voglio.
Ho notato che ci sono getter per le tre selezioni, ma utilizzando l'helper di vista formSelect
con ciascuna di esse, i rendering vuoti vengono visualizzati perché la popolazione di dati si trova all'interno dei nuovi helper di visualizzazione. In modo che praticamente sconfigge lo scopo di utilizzare anche i selettivi singolarmente; allora potrei anche usare solo selezioni regolari.
Qualcuno ha idea di come ottenere un maggiore controllo su come vengono selezionati i miei selezioni? E 'anche possibile senza troppi problemi, o dovrei usare solo tre selezioni regolari per la massima flessibilità?
Stavo solo dando per scontato che stia usando le impostazioni locali dalla mia configurazione, quindi l'ho lasciato fuori. Cambiando il locale, non sempre mi dà quello che voglio (ad esempio, per il mio paese mi dà un formato che non mi piace). Tuttavia, sono stato fortunato che per la mia lingua di arrivo, la formattazione è esattamente come la voglio io! Mi è piaciuto così: 'echo $ this-> formDateSelect ($ this-> form-> get ('birthDate'), IntlDateFormatter :: LONG, 'ro_RO');'. Grazie mille per la tua risposta - è molto apprezzata! – Andy0708