2011-06-17 4 views

答えて

2

これは、CakePHPで行うことができます。

は、ここに私のモデルです。しかし、あなたの懸念が混ざり合っています。このモデルは、データ収集、操作、マッサージのためのものです。データのレイアウトはビューの責任の下にあります。 CakePHPでは特にフォームヘルパーです。チェックアウトデータ検証メッセージのための独自のレイアウトを指定する方法についての詳細情報については

http://book.cakephp.org/view/1639/options-inputDefaults

彼らは、まさにこれを行う方法にはかなり素晴らしいコードサンプルを提供しています。

私も非常には、本全体を読むことをお勧めします。それは非常に貴重です。

編集:コメント

からの明確化後の回答は、あなたはelementを作成し、app/views/elementsに入れてしまいます。通常のCakeの規則を使ってファイルに名前を付けるべきです。 flash_errorに行きましょう。

表示するHTMLに設定します。必ずあなたのメッセージがありますステップ1

ステップ2はあなたの$this->setFlash()呼び出し中であることを

<?php echo $message; ?>

適切な場所であればどこでも簡単にPHPのこのビットを追加表示されていることを確認するには、適切なパラメータを渡します。だからあなたの新しいコールは、我々は上記の名前の要素を次のようになります。

$this->setFlash($message, 'flash_error');

今すぐあなたのsetFlashメッセージがステップ1.たい異なるレイアウトで定義されたレイアウトを使用しますか?新しい要素を作成し、新しい要素名を渡すだけです。

setFlash()メソッドには、さらに便利な2つのパラメータがあります(特に、同じページに複数のflash()メッセージが必要な場合)。ブックへの別のリンク:

http://book.cakephp.org/view/1313/setFlash

+0

チャールズ、私はあなたの言葉に感謝します。私のコントローラでsetFlash()に異なるレイアウトを使用する方法を知っていますが、私のモデルクラスでmy $ validateからのメッセージは使用できません。 –

+0

http://book.cakephp.org/view/1637/flashElement 皮肉なことに私は実際にこの小さなものをCakePHPのマニュアルに追加したものでした。それが私を笑わせる。 – cspray

+0

またはAuthコンポーネントを使用していない場合は、私の瞬間を教えてください。元の回答を編集します。 – cspray

関連する問題