1


「ダッシュボード」という 1 つのビューしかない Yii アプリケーションで作業しています。この単一のインターフェイスですべてのアプリケーション アクティビティを実行する必要があります。すべてのユーザーの詳細、アカウント、履歴、カード機能のステータスを表示するように。

--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 アクティビティを定義する方法は次のとおりです。可能であれば解決策を提案してください。ありがとう !!!

4

1 に答える 1

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  */
}
于 2012-10-25T05:36:15.300 に答える