CakePHP Sitzungsvariable in der Ansichtsseite verwenden?

9

Ich habe eine Variable, die "Benutzername" enthält und möchte diese Werte über die Sitzung auf eine der Ansichtsseiten bekommen.

Wie kann ich diese Session-Variable in der Ansicht bekommen?

    
coderex 20.10.2009, 20:01
quelle

6 Antworten

12

In Ihrem Controller ist eine SessionComponent verfügbar, die Sie wie% verwenden können. Code%. Analog dazu gibt es auch den SessionHelper für die View, der sehr ähnliche Sachen macht und kann wie $this->Session->write('Name', 'Value'); verwendet werden.

    
deceze 20.10.2009 23:00
quelle
5

Sie können $this->Session->read('myParam') in Ihren Views-Dateien verwenden.
Sie können jedoch $this->Session->write('myParam') nicht verwenden.

Wie bereits erwähnt hier :

  

Der Hauptunterschied zwischen dem Sitzungshelfer und der Sitzung   Komponente ist, dass der Helfer nicht in der Lage ist, zu schreiben   Sitzung.

    
trante 17.07.2012 09:02
quelle
2

Um es in einem Helfer zu verwenden, müssen Sie daran denken, es in Ihre $ helpers-Deklaration aufzunehmen:

%Vor%     
Andy 21.03.2012 12:45
quelle
0

Wenn Sie sich im Controller befinden, verwenden Sie die Session-Komponente. Es ist standardmäßig in allen Controllern enthalten. Es verfügt über die Methoden Session :: read () und Session :: write (). Weitere Informationen finden Sie Ссылка .

Ich glaube, wenn die Session-Komponente wie einige der anderen Komponenten ist, können Sie sie in den Ansichten verwenden. Probieren Sie einfach $ session- & gt; read () in Ihren View-Codeblöcken aus. Wenn das nicht funktioniert, versuche $ $ this- & gt; Session- & gt; read (...). Als letzter Ausweg können Sie, wenn keiner davon funktioniert, immer den guten alten PHP $ _SESSION verwenden, obwohl er außerhalb des Cake-Frameworks schwankt. Wenn Sie jedoch sicher sind, dass Sie die Cake Session-Verwaltung nicht verwenden werden (und Sie müssen das nicht wirklich tun, IMO, da es kaum mehr als ein Wrapper um $ _SESSION ist), dann wissen Sie einfach, wann Sie den Hack richtig anwenden.

    
Travis Leleu 20.10.2009 22:20
quelle
-1

Benutze dies in deinem App-Controller vor dem Filter

  

$ this- & gt; Sitzung- & gt; write ('Person.eyeColor', 'username'); $ grün =   $ this- & gt; Sitzung- & gt; read ('Person.eyeColor');   $ this- & gt; set ('Benutzername', $ grün);

Damit erhalten Sie das gewünschte Ergebnis

    
jack 07.02.2012 06:33
quelle
-2

Sie können das Sitzungsobjekt vom Controller mithilfe von

an eine Ansichtsvorlage übergeben %Vor%

Dann in der Ansichtsdatei Verwende $session->read('SessionName');

    
Kiran 31.01.2012 09:12
quelle

Tags und Links