Como En Una Vista Usar Varias Acciones Yii

hola, quisiera que una sola vista usara varias acciones. un ing ingeniero hiso un codigo que unio todas las acciones (update,create etc) en una sola accion y llamo a una vista mandandolo los modelos. asi:

public function actionIndex()

{


      	$model=new AldiaPaises;


	$this->performAjaxValidation($model);


       


            if(isset($_POST['nuevo'])){


                $this->redirect(array('index'));


            }


        


            


            if(isset($_POST['AldiaPaises']))


	{


                


                    if (isset($_GET['paises_id'])){


                        $model=AldiaPaises::model()->findByPk($_GET['paises_id']);


                        $nombre=NULL;


                        $model->attributes=$_POST['AldiaPaises'];


                        $model->pais_fecha_ultima_modificacion=date("Y/m/d H:i:s");


                        $model->pais_usr_ultimo_modificador=Yii::app()->user->id;


                        $model->pais_nombre=strtoupper($model->pais_nombre);


                        //$model->paises_activo=$_POST['AldiaPaises']['paises_activo'];


             


                        


                    }


                    else {


                        $model->attributes=$_POST['AldiaPaises'];


                        $model->pais_fecha_creacion=date("Y/m/d H:i:s");


                        $model->pais_usr_creador=Yii::app()->user->id;


                        $model->pais_nombre=strtoupper($model->pais_nombre);


                        //$model->paises_activo=$_POST['AldiaPaises']['paises_activo'];


                          $model->scenario='creacion';


                          $model->validate(); 


                    }                 


                    


                    


		if($model->save())


                    {


                        Yii::app()->user->setFlash('info', '<strong>Transacción exitosa!</strong> Su registro ah sido grabado con exito.');


                    }else{


                        Yii::app()->user->setFlash('error', '<strong>Error!</strong> Su registro no fue almacenado.');                        


                        


                    }


                    /*else


                    {


                        //Yii::app()->user->setFlash('error', '<strong>Error!</strong> Su registro no fue almacenado.');


                        //$this->redirect(array('index'));


                    }*/


	}


	$models=new AldiaPaises('search');


	$models->unsetAttributes();  // clear any default values


	if(isset($_GET['AldiaPaises']))


		$models->attributes=$_GET['AldiaPaises'];


	$dataProvider=new CActiveDataProvider('AldiaPaises');


	$this->render('index',array(


		'dataProvider'=>$dataProvider,


                    'model'=>$model,


                    'models'=>$models,


	));

como pueden ver en la accion index esta la parte de (create,search etc). pero eso asi no me sirve necesito separar las acciones y que solo una vista use todas mis acciones para poder hacer control de usuarios con yii.

4277

Sin nombre.jpg

Hola@bajarjar,

Es sencillo, solamente cree los métodos en el controlador siguiendo el patrón de Yii, es decir, para la acción create deberá crear un método llamado: actionCreate()…

y dentro del método deberá llamar a:


public function actionCreate(){

/*... Acá va el código propio de la acción ... */

$this->render('index', array(/*sus parámetros*/));

}

Saludos

Amigo gracias por responder, pero esa no fue la pregunta. de poder separar los separo eso es sencillo como tu mismo lo dices. pero mi pregunta es la siguiente el ing anterior coloco todas las acciones en una sola acción por una razón para que se mandaran los modelos a una sola vista o eso es lo que entiendo. si vez mejor la imagen que coloque en cada pestaña llama un renderpartial que accede al formulario, en otra pestaña esta la consulta, en otra están los informes etc.

que necesito yo un mecanismo para separar las acciones sin dañar el esquema planteado. que es. en una sola vista mandar varias cosas divididas por pestañas como (formulario insertar, otra pestaña formulario buscar, otra pestaña informe no se que, otra pestaña etc). me hago entender.

si se puede hacer eso separando las acciones te agradecería enormemente que colocaras algún código de ejemplo para guiarme.

Espero ser explicito y no ambiguo con las preguntas.

detodos modos muchas gracias por responder :rolleyes: