Как сделал я, чтобы вернуться на предыдущую страницу.
В представлении 1 создаем ссылку с текущим URL.
Код: Выделить всё
<?php echo CHtml::link('Подробнее',array('view','id'=>$journal->getId(),'backUrl'=>Yii::app()->request->url));?>
Далее в контроллере ловим $_GET['backUrl'], и передаем его в нужное представление 2.
Код: Выделить всё
$this->render('view',array(
'resource'=>$resource,
'backUrl'=>$_GET['backUrl']
));
В представлении 2 формируем ссылку на предыдущую страницу
Код: Выделить всё
echo CHtml::link(Yii::t('main', 'Back to search results'), $backUrl);
//или
$this->redirect(backUrl);
При этом необходимо проверять на наличие самой переменной $backUrl, ибо могут послать запрос без ее передачи.
Плюсы этого подхода в том, что вы полностью контролируете обратную ссылку, ибо браузер может и не отослать url, с которого он пришел и значение в Yii::app()->user->returnUrl может быть не тем, что вы ожидали.