2014-12-25 16 views
11

Ho un API REST in Yii2, e Yii genera tutte le azioniYii2 Override generico Azione creare nel Resto ActiveController

vista/aggiornamento/creare/eliminare

voglio cambiare il comportement di createMethode et garde la altri metodi, SO non posso usare la classe Controller, dovrei usare la classe ActiveController

Ma voglio che quella classe faccia lo stesso lavoro, ho bisogno di aggiungere qualche azione prima di creare e alcune azioni dopo la creazione. Quindi ho bisogno di sovrascrivere l'azioneCreate

come posso farlo?

+0

dove è la domanda? –

+2

come posso farlo – Touhami

risposta

30

È possibile effettuare le seguenti

class CountryController extends ActiveController 
{ 
    public $modelClass = 'common\models\Country'; 

    public function actions() 
    { 
     $actions = parent::actions(); 
     unset($actions['create']); 
     return $actions; 
    } 

    public function actionCreate(){ 
     // implement here your code 

    } 

} 
+0

in realtà il nome del metodo deve essere createAction non ActionCreate funzione createAction pubblica() {// implementare qui il tuo codice di } – phpniki

+8

@phpniki vi sbagliate – Shaeldon

-1

Oppure si può fare seguendo questo passo:

public function actions() { 
    $actions = parent::actions(); 
    // will overriding return data on the index action 
    $actions['index']['prepareDataProvider'] = [new app/models/Post(), 'getAllPost']; 
    return $actions; 
} 
Problemi correlati