다음과 같은 메시지가 표시됩니다.플래시 메시지의 위치가 바뀜
컨트롤러.
public function add() {
$this->layout = 'home';
$this->Session->destroy();
if ($this->request->is('post')) {
$this->Session->setFlash(__('xxx', true));
}
}
보기. home.ctp
<div id="container">
<div id="header">
</div>
<div id="content">
<?php echo $this->fetch('content'); ?>
</div>
<div id="footer">
<?php echo $this->Session->flash(); ?>
</div>
</div>
제 질문은 : 플래시 메시지가 바닥 글에 표시되지 않는 이유는 무엇입니까? 글쎄, 내가 원하는 것은 양식 아래에 메시지를 보여 주지만 문제를 단순화하기 위해이 코드를 사용하면 맨 위에 메시지가 표시됩니다. 하지만 바닥 글에 있어야합니다. 또한 내가 삭제하면
<?php echo $this->Session->flash(); ?>
메시지가 페이지 상단에 표시됩니다.
그럼이 플래시 메시지의 위치를 어떻게 바꿀 수 있습니까?
편집 :
<?php var_dump($this->fetch('content')); ?>
출력 :
string '<div id="flashMessage" class="message"> The user xxxxx</div>
<div class="users form">
<form action="/cake/users/add" id="UserAddForm" method="post" accept-charset="utf-8"><div style="display:none;"><input type="hidden" name="_method" value="POST"/></div> <fieldset>
<legend>
Add User
</legend>
<div class="input text required error"><label for="UserUsername">Username</label><input name="data[User][username]" maxlength="50" type="text" value="" id="UserUsername" class="form-er'... (length=1187)
'Session :: flash()'가 어디에서 불려도 문제가되지 않습니다. 요청이 확실히 발사되고 있습니까? 거기서 세션을 파괴하는 것이 좀 이상해 보입니다. – Ross