localhost\www\test\protected\views\layouts\main.php
Код: Выделить всё
echo CHtml::link(UserModule::t("Login"), '#', array('onclick'=>'$("#userLogin_dialog").dialog("open"); return false;',)); // ссылка на вход
echo CHtml::link(UserModule::t("Logout").' ('.Yii::app()->user->name.')', Yii::app()->getModule('user')->logoutUrl); // ссылка на выход
Yii::app()->user->setState('returnUrl', Yii::app()->request->url); //запоминаю текущую страницу
$this->beginWidget('zii.widgets.jui.CJuiDialog', array(
'id' => 'userLogin_dialog',
'options' => array(
'title' => UserModule::t("Login"),
'autoOpen' => false,
'modal' => true,),));
$model=new UserLogin;
$form=$this->beginWidget('CActiveForm', array(
'enableClientValidation'=>true,
'action'=>array('user/login'),));
echo $this->renderPartial('application.modules.user.views.user.login', array('model' => $model));
$this->endWidget();
$this->endWidget('zii.widgets.jui.CJuiDialog');
Код: Выделить всё
public function actionLogin() {
// проверка валидности если все ок:
$this->redirect(Yii::app()->user->returnUrl); // редирект который работает
}
Код: Выделить всё
public function actionLogout() {
Yii::app()->user->logout();
$this->redirect(Yii::app()->user->returnUrl); // здесь редирект уже не работает, возвращает всегда в корень
//$this->redirect($_SERVER['HTTP_REFERER']); // можно использовать вот такой вариант, но мне он кажется странным, хотелось бы единообразия в методах
}