In einer Aktion, habe ich ein Feedback für die Nutzer:Verwende ich die Symfony Flash-Variablen falsch?
$this->getUser()->setFlash('message', array(
"type" => "notice",
"content" => "Well done buddy, you did it."
));
$this->redirect('home/index');
In der Ansicht, verwende ich nur den folgenden Code:
<?php if ($sf_user->hasFlash('message')): $message = $sf_user->getFlash('message') ?>
<p class="<?php echo $message["type"] ?>" ><?php echo $message["content"]?></p>
<?php endif; ?>
Aber die Nachricht nie angezeigt.
Nicht das Problem ist nicht "es erscheint einmal, dann verschwindet es, denn das würde bedeuten, dass es funktioniert. Das Problem ist, dass es nie erscheint. Nicht einmal.
Ich benutze Symfony 1.2, deshalb flash var sind jetzt gebunden an das Benutzerobjekt.
Ich weiß, dass Flash Ephemertialvariablen sind. Ich meinte es nicht einmal funktionieren, dann habe ich die Webseite neu geladen und es hat nicht funktioniert. Ich meinte, es funktionierte einmal wie erwartet, dann funktionierte der ganze Mecanisme nicht mehr. Vielleicht habe ich etwas verändert, aber ich fühle mich nicht danach. –
Ich verstehe die Verwirrung, also habe ich den Satz entfernt, um zu vermeiden, dass diese Antwort wiederholt wird. –