2016-03-24 6 views
0

Ich verwende die folgende Methode und ich frage mich, ob es möglich ist, die Flash-Nachricht zu entfernen.Wie setzen wir setFlash in Yii?

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

entdeckte ich, dass eine bestimmte Nachricht, auch wenn es sollte zeigt sich nicht, so dass ich mich gefragt, ob es einen Weg gibt ist die Nachricht manuell in Yü zu entfernen. Ich möchte nicht die gesamte Nachricht löschen, sondern nur die Nachricht mit dem Schlüssel 'error'.

Ich habe mir die offizielle Website angesehen, aber es gibt keine Erwähnung, wie man eine bestimmte Flash-Nachricht entfernt oder wie man alle entfernt.

+0

Können Sie ein Beispiel für eine Flash-Nachricht geben, die Sie sehen? – user908759

+0

Fehler: Der Benutzer ist nicht angemeldet – henry

Antwort

0

Um eine Flash mit dem Schlüssel 'Fehler' zu entfernen hilft, setzen Blitz entsprechend 'null':

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

Wie Sie in der Quelle sehen:

web/auth/CWebUser.php#L682

Wenn der angegebene Wert gleich defaultValue (null) ist, wird die Flash-Nachricht deaktiviert.

0

Yii hat keine Funktion zum Deaktivieren der Flash-Nachricht. Weil es nicht nötig ist. Eine Flash-Nachricht wird nur angezeigt, wenn wir sie explizit mit getFlash() aufrufen. Wenn Sie unerwünschte Nachrichten sehen, müssen Sie die setFlash() Methode für diese Nachricht suchen und entfernen. Es wird einige Debugging benötigen, aber das ist der beste Weg, es zu tun.

hoffen, dass es :)

+0

Ich muss wissen, wie Sie es löschen. – henry

0

Wenn Sie keine Flash-Mitteilung anzeigen möchten, dann rufen Sie einfach die Anweisung und nicht echo die getFlash()

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

setFlash() Nachricht am Leben ist nur eine Seite.

Verwandte Themen