как сделать общий redirect ?

10 views
Skip to first unread message

yuriy

unread,
Oct 23, 2009, 12:52:25 PM10/23/09
to cake-php-ru

вот такой код в AppController->beforeFilter()
не работает
if ($what_is_empty < 1)
{
$this->Session->setFlash('Внимание ! заполните пожалуйста!');
$this->redirect('/educations/addSchool');
}

Dr. Loboto

unread,
Oct 24, 2009, 5:07:54 AM10/24/09
to cake-php-ru
Добавить exit после redirect. Для красоты можно сделать так:

if ($what_is_empty < 1)
{
$this->Session->setFlash('Внимание ! заполните пожалуйста!');
$this->redirect('/educations/addSchool');

$this->_stop();

Vii!

unread,
Oct 29, 2009, 5:15:30 AM10/29/09
to cake-...@googlegroups.com
Возможно еще использовать два варианта:
1. После    $this->redirect('/educations/addSchool');
вставить return;

2. Может быть нужно указать layout до редиректа, т.е.
$this->layout = "default";
и, возможно, также надо добавить до редиректа action:
$this->action = "ajax";
к примеру.


24 октября 2009 г. 13:07 пользователь Dr. Loboto <drlo...@gmail.com> написал:

Dr. Loboto

unread,
Oct 30, 2009, 5:18:20 AM10/30/09
to cake-php-ru
return, конечно же, нужен. И в нормальном методе этого достаточно.
Проблема только в beforeFilter - из него иногда приходится "выходить"
вручную. Поэтому exit либо более кошерный $this->_stop().

On 29 окт, 15:15, "Vii!" <158...@gmail.com> wrote:
> Возможно еще использовать два варианта:
> 1. После    $this->redirect('/educations/addSchool');
> вставить return;
>
> 2. Может быть нужно указать layout до редиректа, т.е.
> $this->layout = "default";
> и, возможно, также надо добавить до редиректа action:
> $this->action = "ajax";
> к примеру.
>

> 24 октября 2009 г. 13:07 пользователь Dr. Loboto <drlob...@gmail.com>написал:

Reply all
Reply to author
Forward
0 new messages