Ciao a tutti,
sto lavorando al mio primo progetto Yii 1.1.8.
Ho un modulo di amministrazione utenti che ho installato e funziona.
La pagina di amministrazione utenti del modulo presenta in una CGridView la lista degli utenti e i bottoni di view/edit/delete, ma non la form di ricerca iniziale sui campi tipica della generazione CRUD di GII.
Sto cercando di crearla.
Ora, nelle righe della grid relative ad ogni utente, i campi createtime e status sono correttamente formattati in linguaggio naturale:
[i]array(
ānameā => ācreatetimeā,
āvalueā => ādate(ād.m.Y H:i:sā,$data->createtime)ā,
),
array(
ānameā=>āstatusā,
āvalueā=>āUser::itemAlias(āUserStatusā,$data->status)ā,
),[/i]
dove User::itemAlias ĆØ
[i]public static function itemAlias($type,$code=NULL) {
$_items = array(
'UserStatus' => array(
self::STATUS_NOACTIVE => UserModule::t('Not active'),
self::STATUS_ACTIVE => UserModule::t('Active'),
self::STATUS_BANED => UserModule::t('Banned'),
),
'AdminStatus' => array(
'0' => UserModule::t('No'),
'1' => UserModule::t('Yes'),
),
);
if (isset($code))
return isset($_items[$type][$code]) ? $_items[$type][$code] : false;
else
return isset($_items[$type]) ? $_items[$type] : false;
}[/i]
Ok.
Ho aggiunto la form di ricerca per campi copiando da uno scheletro di CRUD qualsiasi, e funziona.
Tuttavia vorrei:
-
Trasformare il campo status (attualmente renderizzato nella form come input="text"), in una combobox che mi visualizzi i nomi/valori possibili leggendo User::itemAlias("UserStatus",$data->status)
-
Utilizzare il widget calendario per il campo createtime
Di seguito il codice del CGridView nella view:
$this->widget(āzii.widgets.grid.CGridViewā, array(
'id'=>'user-search-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'name' => 'id',
'value' => '$data->id',
'filter' => false,
),
'username',
'email',
array(
'name' => 'createtime',
'value' => 'date("d.m.Y H:i:s",$data->createtime)',
),
array(
'name' => 'lastvisit',
'value' => '(($data->lastvisit)?date("d.m.Y H:i:s",$data->lastvisit):UserModule::t("Not visited"))',
),
array(
'name'=>'status',
'value'=>'User::itemAlias("UserStatus",$data->status)',
),
array(
'name'=>'superuser',
'value'=>'User::itemAlias("AdminStatus",$data->superuser)',
),
array(
'class'=>'CButtonColumn',
),
),
));
Suppongo di dover intervenire su āfilterā=>$modelā¦ma in che modo? Oppure devo muovermi diversamente?
Grazie e ciao,
Andrea