Yii Framework Forum: creare nuova pagina - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

creare nuova pagina Il sistema non ha potuto trovare l'azione "manage_ holder" Rate Topic: -----

#1 User is offline   Duma 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 39
  • Joined: 13-March 11

Posted 15 March 2011 - 01:38 AM

Salve a tutti ho iniziato da pochissimo a cimentarmi in questo stupendo mondo.....
E avrei un problema ho aggiunto nella pagina "userMenu.php" un link alla pagina che ho chiamato "manage_holder",
in questo modo

//Aggiungere Titolare
array(
'label'=>'Gestisci Titolari',
'url'=>array('/post/manage_holder'),
'visible'=>Yii::app()->user->checkAccess('Aggiungere_Titolare')
),


in realtà la pagina che ho creato non è altro che la pagina "admin" duplicata e rinominata tanto per fare qualche prova
il problema e che quando poi clicco sul link mi dice:

Error 404

Il sistema non ha potuto trovare l'azione "manage_holder" richiesta.

quindi sono alla ricerca di una dritta vi ringrazio aticipatamente.
0

#2 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,987
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 15 March 2011 - 03:18 AM

Devi tenere ben presente almeno 2 files per ogni richiesta. Il primo è il controller (e quindi la sua action), il secondo il view. Il model non è sempre necessario. Alla richiesta index.php?r=post/manage_holder, quindi, DEVE corrispondere il suo controller /protected/controllers/PostController.php e la sua action actionManage_holder. Significa questo:

class PostController {
  ...
  public function actionManage_holder() {
    // questo è il tuo controller ...
  }
  ...
}


Se vedi quel messaggio, è perchè manca questo metodo.


Ti faccio però notare subiso una cosa: è molto meglio se mantieni il codice con una nomenclatura standard: ti sconsiglio di usare il simbolo "_" quando crei una nuova azione. E' una pura scelta di stile, ma se dai in mano il tuo lavoro ad altri che conoscono Yii ma non il tuo nuovo standard rischi di fare confusione.

Suppongo che se non hai creato l'action, ti manchi anche la view. Provo ad anticiparti e dirti che quasi sicuramente quel tuo controller potrebbe essere così:

(ho usato un codice che rispecchia di più lo standard togliendo il simbolo '_' ma tu sei libero di non farlo)

class PostController {
  ...
  public function actionManageholder() {
    $this->render('manageholder');
  }
  ...
}


Questo codice, richiama il template manageholder. Significa che DEVE esistere un file /protected/views/post/manageholder.php che corrisponde alla view.

Spero di averti fatto più chiarezza su questo fantastico framework =), ho cercato di essere il più chiaro possibile.

Riassumento l'MVC ...: le richieste arrivano al controller, "scelgolo" il metodo che carica il model ed il view.
1

#3 User is offline   Duma 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 39
  • Joined: 13-March 11

Posted 15 March 2011 - 03:41 AM

Grazie Mille!!
ho anche seguito il tuo consiglio sulla "nomenclatura" ...
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users