2016-12-17 1 views
2

요소 나 레이아웃에 Flash 메시지가 표시 될 수 없습니다. 그러나 템플릿에서 제대로 작동합니다.요소 또는 레이아웃에서 플래시 메시지가 작동하지 않습니다.

내가 가지고있는 나의 요소 레이아웃 코드와 템플릿 다음 나는 오류를 생성 할 때, 그것은보기에서 호출 할 때 잘 표시하지만

<?= $this->Flash->render();?> 

는 요소 나 내에서 작동하지 않습니다 레이아웃 파일.

아이디어는 내 레이아웃의 왼쪽 탐색 메뉴에있는 요소를 사용하여 생성 된 양식 위에 플래시 메시지를로드하는 것입니다.

답변

0

Flash->render()을 하나 이상 호출하면 다른 후속 호출에 대한 세션이 지워집니다.

방금 ​​Flash->render()을 호출하는 것을 제한하는 가장 좋은 방법을 찾아야합니다. 예를 들어, 내 요소의 if 문에 Flash->render()을 래핑합니다. 조사중인 개별 플래시 메시지를 키순으로 표시 할 수도 있습니다.

내 솔루션

플래시 설정 : 내 요소에서

$this->Flash->error(__('Invalid credentials, try again'), ['key' => 'element']); 

:

<?= $this->Flash->render('element')?> 
+0

은 퍼팅의 아주 이상한 방법입니다 "가 나타납니다는"단순히입니다 [메시지가 렌더링 되 자마자 삭제] (https://github.com/cakephp/cakephp/blob/master/src/View/Helper/FlashHelper.php#L84) – AD7six

+0

죄송합니다. 케이크 알지 못했습니다. – TekiusFanatikus

관련 문제