Session-Variable erst beim Reload der Panel-Page verfügbar?
am 05.12.2012 - 14:38 Uhr in
Hallo,
folgende Situation:
Ich habe für die Detailansicht eines bestimmten Contenttypes eine Panel-Page mit einer Variante für diesen Typ angelegt.
Zu diesem Typ gehören verschiedene Node-References zu anderen Content-Types, die dort als "rendered Entity" mit angezeigt werden.
Die Anzeige dieser zugordneten Elemente möchte ich nun mit einer "visibility rule" steuern - d.h. in Abhängigkeit von einer Variablen anzeigen oder eben nicht.
Dazu habe ich in meiner template.php in der Funktion MY_THEME_preprocess_page(&$variables) eine Sessionvariable gesetzt:
$_SESSION['MY_VAR'] = 'my_value';
Die wird nur gesetzt, wenn ich auf einer Übersichtsseite bin, von der aus dann die Node-Detailansicht aufgerufen wird.
(lasse ich mir mit drupal_set_message() ausgeben - kommt überall richtig an).
Die visibility rule für den betreffenden Inhalt auf der Panel-Page lautet dann:
return $_SESSION['MY_VAR'] == 'my_value';
Seltsamerweise wird nun die Anzeige beim ersten Aufruf der Seite blockiert, aber nach einem Reload dann doch als TRUE ausgewertet!
Hat jemand eine Idee, woran das liegen könnte? - Es scheint ja irgendwie mit der Reihenfolge der Abarbeitung zu tun zu haben, ist vielleicht die _preprocess_page() nicht die richtige Stelle?
allerdings hab ich es auch schon mit der _preprocess_node() probiert - aber da geht gar nichts (also auch nach einem Reload nicht).
viele Grüße, Michael
- Anmelden oder Registrieren um Kommentare zu schreiben
Drupal 7 Session handling
am 10.12.2012 - 10:30 Uhr
Schau dir mal die folgenden Funktionen an, vielleicht helfen dir die weiter:
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!