Yii è un framework di sviluppo PHP secondo il pattern MVC di cui ho parlato qui e qui. Il sito (fornitissimo) è qui.
La pillola riguarda la gestione dei campi data, campi testo (in html < 5 non esistono i campi data) ai quali Yii aggiunge funzionalità tipiche di un controllo per le date:
Il frammento con cui si definisce questo comportamento è il seguente
$this->widget('zii.widgets.jui.CJuiDatePicker',array(
'name'=>'Payment[deadline]',
'model'=>$model,
'attribute'=>'deadline',
'value'=>$model->deadline,
'options'=>array(
'showAnim'=>'slide',
'dateFormat' => 'yy-mm-dd',
'defaultDate'=>$model->deadline,
),
'language' => 'it',
'htmlOptions'=>array(
'style'=>'height:20px;background-color:lightgreen;color:white;',
),
));
Attenzione all’array passato come argomento al widget(), evidenziato in grassetto:
- ‘name’ => ‘Payment[deadline]’ ← è il nome della classe [nome dell’attributo], in questo caso classe = Payment, attributo = deadline
- ‘model’=>$model, ← modello a cui fa riferimento la view
- ‘attribute’=>’deadline’, ← nome dell’attributo
- ‘value’=>$model->deadline, ←valore dell’attributo
Quest’ultimo attributo (value) fa in modo che venga visualizzata la data nel campo testo.
Invece l’attributo
'defaultDate'=>$model->deadline
invece fa in modo che nel calendario drop down venga evidenziata con un rettangolino la data come si vede in figura:

Commenti recenti