Frage

Ok, ich weiß, was ich sagen wird Super vage sein, aber hören Sie mir:

Ich möchte Verwendung Flash-Mitteilungen, weil ich mag die Idee von ihnen, aber sie scheinen nicht immer Arbeit für mich.

Hier ist mein Workflow:

  1. Benutzer erstellt eine Gruppe auf Seite A
  2. ich eine E-Mail-Benachrichtigung senden Mitglieder der neuen Gruppe
  3. Ich habe die Flash-Mitteilung "Erfolg!"
  4. ich den Benutzer in die neu geschaffene Gruppe umleiten und die Anzeige „Erfolg!“ Flash-Mitteilung.

Das Problem ist, nachdem ich den Benutzer umleiten, sind die Flash-Nachrichten nicht mehr in dem $ _SESSION. Um dies noch seltsamer, wenn ich den Schritt nehmen, wo ich E-Mail-Benachrichtigungen senden, es funktioniert. WTF?

Hat jemand ähnliche Probleme mit Flash-Mitteilungen erfahren? Hat jemand eine Einblick in, warum die E-Mail zu senden, die Flash-Mitteilungen beeinflussen würde?

Ich denke, an diesem Punkt, den ich nur mit setState gehen zu halten und es manuell zu entfernen, nachdem sie angezeigt werden.

War es hilfreich?

Lösung

Wie wird die E-Mail gesendet werden? Ich kenne die Yü Mail-Erweiterung mit (a Swiftmailer Wrapper glaube ich) in „Debug“ -Modus die setFlash Methode verwendet, so vielleicht, dass das irgendwie das Array auszulöschen ...?

Die „Flash“ Variablen werden durch die init () -Methode von CWebUser aktualisiert, so dass, wenn es einen zusätzlichen Anruf CWebUser es möglich ist, das ist, was die Flash-Variablen Ausräumen.

In Anbetracht, dass Sie den Blitz NACH der E-Mail wenn gesetzt, ich bin nicht sicher, wie das passieren würde. Meine einzige andere Vermutung neben dem „Debug-Modus“ Ding (kein Problem, wenn Sie nur die PHP-Mail-Methoden verwenden, obwohl) ist, dass Mail-Versand ist eine zusätzliche Umleitung irgendwo ausgelöst wird.

Wenn Sie ein PHP-Debugger wie XDebug installiert ich einen Haltepunkt in der getFlash und setFlash Code festgelegt würde und einen Blick auf das bekommen, was so passiert.

Viel Glück!

Andere Tipps

Jetzt können Sie eine Eigenschaft autoUpdateFlash von CWebUser Komponente auf false gesetzt. In diesem Fall wird Flash-Nachricht nur nach Gebrauch entfernt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top