2016-03-24 7 views
0

次の方法を使用していますが、フラッシュメッセージを削除することができるかどうかは疑問です。YiiでsetFlashの設定を解除するにはどうすればよいですか?

Yii::app()->user->setFlash($key, $message); 

私はそれはいけない場合は、特定のメッセージも表示されることを発見したので、Yiiの中に手動でメッセージを削除する方法があります場合、私は疑問に思って。私はすべてのメッセージを削除するのではなく、「エラー」キーを持つメッセージだけを削除したい。

私は公式のウェブサイトを見ましたが、特定のフラッシュメッセージを削除する方法やそれらのすべてを削除する方法については言及していません。

+0

あなたが見ているフラッシュメッセージの例を挙げることができますか? – user908759

+0

エラー:ユーザーがログインしていません – henry

答えて

0

を 'NULL' にフラッシュに対応するリセット、キー 'エラー' でフラッシュを削除するには願っています:

Yii::app()->user->setFlash('error', null); 

あなたがソースに見ることができるように:

web/auth/CWebUser.php#L682

指定された値がdefaultValue(null)に等しい場合、フラッシュメッセージは設定解除されます。

0

Yiiにはフラッシュメッセージを設定解除する機能がありません。それのための必要性がないので。フラッシュメッセージは、明示的にgetFlash()と指定すると表示されます。あなたが望ましくないメッセージを見ているなら、そのメッセージに対してsetFlash()メソッドを見つけてそれを削除する必要があります。それはいくつかのデバッグがかかるでしょうが、それを行う最良の方法です。

は、それが役立ちます:)

+0

私はそれを削除する方法を知る必要があります。 – henry

0

あなたがちょうどgetFlash(ステートメントを呼び出してくださいませんecho、フラッシュメッセージを表示したくない場合)

Yii::app()->user->getFlash('error'); 

setFlash()メッセージ1ページのみ生きています。

関連する問題