Wie Hintergrundbild pro Session festlegen?
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 24.03.2010 - 11:34 Uhr in
Hallo zusammen,
in einer Drupal 6 Installation definiere ich für pages, die über das Template page.tpl.php generiert werden, ein Zufallshintergrundbild.
Die Funktion get_back_img() in der template.php liest ein Verzeichnis mit Hintergrundbildern, wählt eines nach dem Zufallsprinzip aus und liefert den Pfad zurück. Ausserdem wird hier die Variable $_SESSION["backimg"] gesetzt. Die Auswahl erfolgt also nur einmal pro Session
get_back_img() wird aus der page.tpl.php heraus aufgerufen. Das zurückgelieferte Bild wird dem Body als Hintergrundbild zugewiesen.
Problem: das funktioniert leider nicht so, wie es soll. Soll heissen es werden zwar Hintergrundbilder ausgelesen, aber nicht pro Session. D.h. wenn ich den Browser schliesse und am nächsten Tag die Seite wieder aufrufe, habe ich dasselbe Hintergrundbild. das mag
1: am session lifetime cookie liegen, so dass $_SESSION["backimg"]. Aus diversen anderen Gründen kann ich die lifetime aber nicht auf Null setzen.
2: am caching der Seiten, so dass get_back_img() gar nicht mehr bei jeder Session aufgerufen wird. Stattdessen wird dann vermutlich das Hintergrundbild aus der bereits gecacheten Seite verwendet.
Kann das sein?
Gibt es denn eine Möglichkeit zuverlässig eine Sessionvariable beim Schliessen des Browser für anonymous users zu löschen? Bzw. gibt es irgendeine Möglichkeit beim ersten Page-Zugriff in jedem Fall eine neue Session-Variable zu definieren, eventuell durch Einklinken in die Bootstrap Routine?
Bin für jeden Tipp dankbar
Grüsse Rhodes
- Anmelden oder Registrieren um Kommentare zu schreiben
Session API verwenden
am 24.03.2010 - 11:43 Uhr
http://drupal.org/project/session_api
Beschreibung:
http://drupal.org/node/319656
Sepp
Leider nicht
am 24.03.2010 - 17:09 Uhr
Danke für Dein Posting.
Das oben genannte Module ist aber leider für meine Problemstellung nicht geeignet. Es liefert mir nur eine Session APIs zurück. Die habe ich ja schon.
Gruss Rhodes