我知道控制器有一个叫做的方法:CController:beforeAction() 它将在当前控制器中的每个动作之前调用。 但是如何让它只在“行动”之前发挥作用?
public function actions(){
return array(
//trigger something like beforeaction only for action "uploader"
'uploader' => array(
'class' =>'',
),
);
}
答案 0 :(得分:4)
好问题。我认为无论如何都无法禁止在特定操作上运行beforeAction。如果您在控制器中有beforeAction,则此方法将在任何操作之前运行。但你可以这样做:
protected function beforeAction($action)
{
if($action->id != "uploader")
{
//do some stuff here
}
return parent::beforeAction($action);
}