Prova a dare piu informazioni… per esempio come vai ad aprire la view? come si chiama la tua classe, il controller e la view… e quall e l’URL che stai provando
se la URL ha "r=country/index" Yii dovrebbe usare il CountryController. Dal tuo scrivere sembra che in qualche modo la tua applicazione sta usando il SiteController e qui non ho nessun idea del perche.
Se segui la guida passo a passo… hai dovuto passare questa pagina - http://www.yiiframew…-databases.html
Gia qui dovevi creare il CountryController manualmente e eseguirlo con "r=country/index"… funzionava?
vedi se il tuo controler sia “CountryController” e non “countryController”… nel secondo caso [size=2](c minuscola)[/size][size=2] [/size][size=2] Yii non puo trovate il crontroler e per questo da l’erore 404 e per eseguirlo usa il SiteController (ErrorAction)[/size]
ciao, grazie dell’aiuto, sei stato davvero gentile
io sono nuovo sia del mondo yii che mvc quindi devo iniziare a comprendere la logica.
adesso mi funziona, perche prima avevo creato la cartella country dentro view/site, mentre si deve creare dentro view.
ti posso fare un altra domanda ?
se io creo una cartella dentro la view e la chiamo "pippo" , devo per forza creare un controller con nome PippoControllers ?
oppure posso dargli un altro nome ?
perche mi sembra di aver capito che il controller viene associato alla view attraverso il nome, quindi se io creo un intero sito dentro un unica cartella devo usare un solo controller, mentre se divido in piu cartelle devo usare piu controller ?
Pensi al rovescio… tutto comincia dall controler… dal URL si decide che controller si chiamera… in questo esempio "r=country/index" la prima parte decide il controler e la seconda parte la action… cioe il CountryController… e la action IndexAction…
se nella action usi il commando “$this->render(‘nome del view’)”… Yii cerca la view nel folder “views/controlerID” cioe se nel CountryController hai il command $this->render(‘pippo’), la view si deve trovare nel “views/country/pippo.php”
non so come ringraziarti, mi hai chiarito le idee, stavo impazzendo e non capivo,
quindi in yii, la forma delle url e sempre dominio?r=controller/view
quando io faccio una actionIndex non significa che io chiamo la index.php, ma con render(percordo file) vado a chiamare qualisai view voglio, e lo stesso vale per le altre action
forse la mia spiegazione e incasinata ma ho fatto delle prove e per ora penso di aver capito.
grazie ancora
un ultima domanda, se io chiamo un controller
provaController, lui va a cercare le view nella directory
view/prova … quindi il controller deve avere il nome della directory delle view ?