CakePHP пользовательский setFlash - PullRequest
2 голосов
/ 09 мая 2011

Я прочитал в Книге CakePHP, что вы можете определять свои собственные настраиваемые сообщения setFlash, используя элемент ... но что бы я положил внутрь элемента и как бы я передавал другое содержимое.

Например, два разных сообщения:

<div id="flashMessage" class="message">
    <div class="content">
        <p>Please correct the errors</p>
    </div>
</div>


<div id="flashMessage" class="announcement message">
    <div class="content">
        <h3>Announcement</h3>
        <p>You have earned a new achievement</p>
    </div>
</div>

Итак, как вы можете видеть, я хочу определить div-обертку и div содержимого, а затем также передать дополнительный класс, если необходимо, в зависимости от типа сообщения, а также показать другой контент, такой как просто абзац или заголовок и абзац.

Кто-нибудь может помочь? Спасибо

1 Ответ

4 голосов
/ 09 мая 2011

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

myflash.ctp

<div id="flashMessage" class="message">
    <div class="content">
        <p><? echo $message ?></p>
    </div>
</div>

announcement.ctp

<div id="flashMessage" class="announcement message">
    <div class="content">
        <h3>Announcement</h3>
        <p><? echo $message ?></p>
    </div>
</div>

и затем:

$this->Session->setFlash($message,'myflash or announcement');

или один элемент: myflash.ctp

<div id="flashMessage" class="<? echo (isset($myclass)?$myclass.' ':'') ?>message">
 <div class="content">
  <? echo (isset($header)?'<h3>' . $header.'</h3>':'') ?>
   <p><? echo $message ?></p>
 </div>
</div>

и на вашем контроллере:

$this->Session->setFlash($message,'myflash',array('myclass'=>'announcement','header'=>'Announcement');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...