2015-08-25 50 views

回答

2

是,afterAction()事件處理程序觸發控制器中的每個操作。

看看在official docs此方法:執行一個動作之後

該方法被調用。該方法將觸發EVENT_AFTER_ACTION event。該方法的返回值 將用作操作返回值。

如果重寫此方法,您的代碼應該如下所示:

public function afterAction($action, $result) 
{ 
    $result = parent::afterAction($action, $result); 
    // your custom code here 
    return $result; 
} 

如果你需要對具體行動的一些代碼上限的執行,你可以使用$action變量是這樣的:

對於單動作:

if ($action->id == '...') { 
    ... 
} 

對於多個動作:

if (in_array($action->id, [..., ...]) { 
    ... 
} 

或者您可以使用$action->uniqueId來代替。

+1

感謝您的完整回覆! – mohsen

相關問題