Empfehlungen: Erweiterte Suche

setFlash-Nachrichten fehlerhaft angezeigt

Ausgabedaten formatieren und darstellen

setFlash-Nachrichten fehlerhaft angezeigt

Beitragvon Esteba » Fr 15. Apr 2011, 14:38

Ich bin mal wieder dabei, an einem Problem zu verzweifeln. Ich habe ein Projekt von CakePHP Version 1.2 auf 1.3 geupdated. Da hat sich ja auch bei den Flash-Messages etwas geändert. Ich hab brav, wie hier geschrieben, SessionHelper und SessionComponent im AppController eingefügt. Dann hab ich mich daran gemacht, die setFlash-Befehle bezüglich ihrer Argumente anzupassen. Das sieht bei mir jetzt so aus:

In einem beliebigen Controller:
Code: Alles auswählen
$this->Session->setFlash(__($this->getPhrase('post','add_fail')),'default',array('class' => 'flash error'));


Im Default-Layout:
Code: Alles auswählen
<div class="content">
    <?php
        echo $this->Session->flash();
        echo $content_for_layout;
    ?>
</div>


Ich habe aber ein seltsames Fehlverhalten: Der Nachrichten-Kasten wird zwar angezeigt, ist aber leer. Dafür erscheint der Nachrichten-Text oben links in der Ecke. Ein Blick in den HTML-Quelltext:

Code: Alles auswählen
Fehler beim Erstellen des Eintrags.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


Wie kann das denn passieren? ^^
Interessanterweise ist der Text auch da, wenn ich das "$this->Sessions->flash()" aus der Layout-Datei entferne. Die einzige vernünftige Erklärung, die ich für den Fehler habe, ist dass ich beim Updaten auf 1.3 irgendetwas missachtet habe, aber eigentlich steht ja auf der verlinkten Seite alles...


EDIT: Hier hat jemand ein ähnliches Problem. Hab jetzt auch "echo $session->flash()" dastehen, hat aber nix geholfen...
Esteba
 
Beiträge: 6
Registriert: Do 14. Okt 2010, 08:20

Re: setFlash-Nachrichten fehlerhaft angezeigt

Beitragvon euromark » Fr 15. Apr 2011, 15:25

schau ma auf dein controller

du hast TRUE vergessen:
__($this->getPhrase('post','add_fail'), true)
euromark
 
Beiträge: 644
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: setFlash-Nachrichten fehlerhaft angezeigt

Beitragvon Esteba » Fr 15. Apr 2011, 16:30

...und wenn die Fehler besonders merkwürdig sind, ist es meistens irgendwas ganz banales. ^^ Du hast vollkommen Recht, da gehört noch ein "true" hin! Ich hab wohl nicht richtig hingeschaut und es für einen Parameter von setFlash gehalten, der in 1.3 nicht mehr benötigt wird. :oops:
Dankeschön, es funktioniert!
Esteba
 
Beiträge: 6
Registriert: Do 14. Okt 2010, 08:20


Zurück zu Views

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast