Skip to main content

Posts

YII, How to get current controller name and action name

To get current controller name use this code : <?php $controllerId = Yii :: app () -> controller -> id ; //or $controllerId = $this -> getId (); ?> To get current action name/id being executed, if you are inside beforeAction() or afterAction(), use the received CAction argument <?php //inside beforeAction or afterAction public function beforeAction ( $action ) { $actionId = $action -> id ; ... ?> or just elsewhere inside your controller <?php $actionId = $this -> getAction () -> getId (); ?> To get name of currently called controller action anywhere in the code you can use : <?php print CController :: getAction () -> id ; ?>

Yii, return to previous url after login or logout

If you want to return to your previous url after login or logout try this : <?php $this -> redirect (Yii :: app () -> request -> urlReferrer ); ?> To set the return url to be the url that was before the login page or registeration page was called you can put following code in views/layouts/main.php file : <?php //this checks id the controller action is not 'login' then it keeps the current url in returnUrl if (CController :: getAction () -> id != 'login' ) { Yii :: app () -> user -> setReturnUrl (Yii :: app () -> request -> getUrl ()); } ?>