CGridView

Salve a tutti … ho qualche difficolta:




    $this->widget('zii.widgets.grid.CGridView', array(

    'dataProvider' => $model->search(),

    'filter' => $model,

    'columns' => array(



Non ho tutto chiaro al 100% questo codice. Dalla documentazione non sono stato in grado di capire in pieno come devo configurare questi campo … In oltre ho provato a cercare una guida su CGridView ma nulla. Sapete/Potete aiutarmi?

E’ scritto tutto qui all’inizio della pagina: http://www.yiiframework.com/doc/api/CGridView

Prova a dare una occhiata li e poi facci sapere.

Dunque, il dataProvider è un’istanza di CActiveDataProvider:

Ne prendo uno a caso dal Class Reference


$dataProvider=new CActiveDataProvider('Post', array(

    'criteria'=>array(

        'condition'=>'status=1',

        'order'=>'create_time DESC',

        'with'=>array('author'),

    ),

    'pagination'=>array(

        'pageSize'=>33,

    ),

));

Quindi qui il dataprovider sarà il risultato di una query che prende la tabella del modulo Post, dove l’autore è preso come campo esterno e with serve per ridurre il numero di query, order è l’ordinamento dei risultati, e condition … è la clausola where.

Ciascun record, viene filtrato in base a tutti i campi del model, in quanto noi gli passiamo tutto quanto:


'filter' => $model,

E nell’attributo columns che passiamo a CActiveDataProvider ci stanno le colonne che visualizzeremo nella Grid.

Oibò! Inizia a piacermi sto framework.

Si si, vedo che ormai hai in pugno la situazione! ;)

No dai, in pugno in pugno no, adesso devo guardarmi le classi… come ad esempio CTabView. Fantastica. Sto letteralmente impazzendo (di gioia). Adoro Yii! Tra l’altro adoro anche jquery. Non potevo trovare di meglio =).

Se ti piace la CTabView, devi provare CJuiTabs :D

Me lo sono segnato… ti saprò dire.