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