Salve,
sto cercando di eseguire un’action posta in un file esterno, ma yii si lamenta dicendomi che non la trova.
Questo è il controller:
class TestController extends Controller
{
public function action()
{
return array(
'edit'=>'application.controllers.test.UpdateAction',
);
}
}
e questa è la classe esterna (posta in controllers/test/UpdateAction.php) :
class UpdateAction extends CAction
{
public function run()
{
$this->render('view_di_prova');
}
}
}
Quando cerco di eseguire index.php?r=test/edit, yii dice che l’action non esiste.
Dov’è che sbaglierò?
Grazie,
KK
mdomba
(Maurizio Domba Cerin)
2
Nel testController il metodo si deve chiamare “actions”… nel tuo esempio c’e “action”…
E non dimenticare di settare la accessRules per questo metodo (edit)…
Ottimo
adesso richiama l’action.
Mi è sorto un’altro problema però.
Il metodo render non viene chiamato (dato che non appartiene alla classe CAction ma CController).
Come posso eseguirlo?
Grazie,
KK
sensorario
(Sensorario)
4
Credo tu possa raggiungere il controller con
$this->getController();
A questo punto, potresti provare con
$this->getController()->render();
Ma non so quanto sia giusto fare in questo modo. Non posso provare in questo momento.
sensorario
(Sensorario)
6
Non avevo il pc davanti e stavo andando a memoria =).