CakePHP setFlash () странная проблема - PullRequest
0 голосов
/ 07 апреля 2011

Я хочу $this->Session->setFlash('text'); $this->redirect('page');, но сообщение не отображается.Я включил в свой макет и компонент сеанса, и помощник, и $this->Session->setFlash().Однако после перенаправления сеанс не содержит никаких сообщений.Если я не перенаправляю, отображается сообщение.

Итак, мой вопрос, почему флэш-сообщение не сохраняется после перенаправления?Так и должно быть, как я делал раньше, но ... сейчас это не работает.

Спасибо за любую помощь!

Вот мой код контроллера:

if(!$this->Test->__test_possible()){
        $this->Session->setFlash(__('Insufficient data to create test.', true));
        $this->redirect(array('action' => 'index'));
    }

... мой макет ... (торт по умолчанию.ctp)

<?php echo $this->Session->flash(); ?>

и AppController:

var $helpers = array('Html', 'Form', 'Session', 'Facebook.Facebook');
var $components = array('Session', 'Auth', 'Facebook.Connect');

Ответы [ 3 ]

4 голосов
/ 24 апреля 2011

Итак, мы только что обнаружили причину, по которой не отображались флеш-сообщения, несмотря на наличие всего необходимого кода.Оказалось, что после закрытия ?> в файле контроллера был пробел.ಠ_ಠ

1 голос
/ 12 апреля 2011

О черт ... Я поставил Configure :: write ('Session.cookie', 'Capitalize.me'); в core.php и, кажется, ему не понравилась точка в имени ... теперь все работает отлично. Это расстраивает, правда. Спасибо за вашу помощь :)

0 голосов
/ 08 апреля 2011

Flash-сообщения показываются один раз, а затем удаляются из кэша. Вы, вероятно, печатаете его перед перенаправлением, что приводит к тому, что он не отображается на перенаправлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...