CakePHPバージョン1.2(最新)を使用して簡単なWebアプリケーションを作成していて、Sessionヘルパーからのフラッシュメッセージの表示に問題があります。次の要素をレンダリングする
<?php echo $this->renderElement('flash'); ?>
:私のレイアウトでは、次のコードが存在する
望ましい行動がフラッシュメッセージがあるかどうそれはで表示されていることが、表示されるように、ということである<?php if($session->check('Message.flash')): ?>
<?php $class = isset($error) ? 'contentError' : 'contentSuccess'; ?>
<div class="contentBlockWrapper <?php echo $class; ?>">
<div class="contentBlock">
<div id="flashMessage" class="flash">
<?php $session->flash(); ?>
</div>
</div>
</div>
<?php endif; ?>
DOM内の上記の場所は、私が望むようにスタイル付けされ、配置されるようにします。
フラッシュメッセージがある場合、CakePHPはオープニング<body>
タグの直後にレンダリングしています。今度は、上記のコンテナを正しい場所にレンダリングしますが、必要な場所にテキストを書き込むことはありません。
出力バッファをビュー内の変数にフラッシュしてエコーしてみましたが、役に立たなくなりました。いくつかの人々は、表示させたい特定のメッセージを示すために名前付きキーを使用しようとしましたが、表示したいテキストが間違った場所に表示されているため、ここでは適切ではありません。
感謝します。ありがとう!
要素をレンダリングする呼び出しをどこに置いても、ケーキは常にbodyタグの直後に置くと言っていますか?私のアプリでは、$ session-> flash呼び出し(DOM内で生成されたソースを見て)があるところならどこでもレンダリングします。 レイアウトで正しいと思いますか?レイアウトビューを投稿しますか(bin.cakephp.orgを使用してリンクを残してください)。 ありがとう! –
私は、ビュー自体の中でなく、要素に全体が混乱しているのかもしれないと思っています。私は要素からそれを移動し、それが動作するかどうかを見てみましょう - フィードバックに感謝! – inkedmn