如何在Yii中使用多个模型来篡改单个视图?

时间:2012-05-10 06:33:39

标签: widget yii yii-components yii-inheritance


我正在使用Yii应用程序,它只有一个视图 - 'Dashboard',我需要在这个单一界面上进行所有应用程序活动。如显示所有用户详细信息,帐户,历史记录,使用curd facility的状态。

--In Controller--
class DashboardController 
{
    public function actionDashboard()
    {
        $model = new MyDashboard;
        if(isset($_POST['MyDashboard']))
        {
             $this->model->save();
        }
        $this->render('dashboard',array('model'=>$model));
    }
}


-- In Dashboard View --
 // userd-details
 $this->widget('application.components.widgets.addGruopWidget.userdetails');

 //account
 $this->widget('application.components.widgets.addGruopWidget.useraccount');

 //user status
 $this->widget('application.components.widgets.addGruopWidget.userstatus');

 //user history
 $this->widget('application.components.widgets.addGruopWidget.userhistory');

那么如何使用DashboardController在这个单一的“仪表板”界面上定义用户的所有curd活动。如果可能,请提示解决方案。谢谢!!!

1 个答案:

答案 0 :(得分:0)

public function actionDashboard($action=null){

  if(!is_null($action) && strlen($action)>0){
    $method = "run".ucfirst($action);
    if(method_exists($this,$method)){
      $this->$method(); // if $action is 'actionName' then $this->runActionName();
      Yii::app()->end();
    }
  }
}


...
}


protected function runActionName(){
   /*  dp something  */
}