Action esterne

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

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

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.

Great!!!

Funziona

Perchè?

Cosa non ti convince?

Non avevo il pc davanti e stavo andando a memoria =).