2012-02-25 3 views
1

Я пытаюсь настроить флеш-сообщения для своего приложения, и для этого я создал 3 файла внутри/app/Views/Elements и назвал их flash_error.ctp, flash_information.ctp и flash_success.ctp. Разница между ними - применяемый класс CSS. Содержание же и выглядит следующим образом:

<div class="alert alert-success"> 
    <a class="close" data-dismiss="alert">×</a> 
    <strong>Warning!</strong> <?php echo $content_for_layout; ?> 
</div> 

Но когда я пытаюсь показать любой флэш-сообщение с помощью:

$this->Session->flash(); 

, например, я получаю эту ошибку:

Notice (8): Undefined variable: content_for_layout [APP/View/Elements/flash_success.ctp, line 3]

Почему ? Может ли кто-нибудь помочь мне здесь? Я застрял !!! :-(

+0

где вы создания '$ content_for_layout'? –

+0

нет где, следует ли в каком-то месте определить? Я просто беру идею с этого сайта http://www.jamesfairhurst.co.uk/posts/view/custom_cakephp_flash_messages_updated – ReynierPM

ответ

2

Вы должны заменить:

<?php echo $content_for_layout; ?> 

с

<?php echo $message; ?> 

UPDATE

Чтобы использовать флэш-сообщение, вам нужно вызвать его в методе setFlash. Например, если вы вызываете его из успешно сохраненного клиента, он будет выглядеть так:

$this->Session->setFlash(__('The customer has been saved'), 'yourCustomFlashMessage'); 

Тогда вы убедитесь, что у вас есть views/elements/your_custom_flash_message.ctp

+0

Хорошо и как я знаю из шаблона, если var установлен или нет? Иногда я получаю пользовательские сообщения в других шаблонах только потому, что они были установлены до :-( – ReynierPM

+0

Просто убедитесь, что вы добавили шаблон, который хотите использовать в методе setFlash, где бы вы его ни использовали. См. Обновление к моему сообщению выше. –

+0

Спасибо, что он работает сейчас! – ReynierPM

Смежные вопросы