All’interno di categorie/view/{idcategoria} oltre al dettaglio della categoria voglio mostrare una cgridview (provvista di pulsanti di gestione e campi di ricerca) con l’elenco dei prodotti appartenenti alla categoria.
Le colonne sarebbero:
-descrizione(prodotti.descrizione)
-colore(colori.descrizione)
Qual’è il modo corretto di agire?
Chiedo scusa se la domanda sembra generica e sicuramente trattata altrove, ma avevo aperto un topic con tutte le prove che ho fatto e in 4 giorni ha ricevuto 100 visite e 0 risposte.
Se vuoi la CGridView, perché non ce la metti? La prima cosa che farei, è prendere la pagina admin del tuo crud (li trovi un CGridView), quindi modificherei in modo opportuno il model e le colonne. In particolare il model sarà una sorta di Prodotti::model()->findAll(‘idcategoria=’.$idcategoria); e così via.
Nella prova precedente avevo creato views/categorie/_prodotti che visualizzava proprio una CGridView il cui dataprovider era Prodotti::model()->customSearch($idcategoria), la visualizzazione era perfetta avevo aggiustato anche i link dei vari pulsanti ma la ricerca proprio non andava. A quanto ho capito nel metodo di ricerca i dati vengono inviati come $_GET[{model}][{nomecolonna}] e nei vari compare del cdbcriteria basta fare $this->{nomecolonna} per reperirli. Tuttavia nel mio caso non funzionava, nel senso che $this->{nomecolonna} era sempre null.
Ora ho provato a fare come mi hai consigliato, cioè a modificare views/prodotti/admin, che richiamo con renderpartial e a cui invio l’id della categoria, come dataprovider utilizzo Prodotti::model()->findAll(“idcategoria=”.$idcategoria), ma ottengo il seguente errore:
Call to a member function getData() on a non-object in C:\wamp\www\yii-1.1.8.r3324\framework\zii\widgets\CBaseListView.php on line 105