Jak ustawić i odzyskać pliki cookie?

12

Po kilku dniach i więcej godzinach znalazłem tylko problemy i łatki na temat tego, co zrobić, gdy plik cookie jest ustawiony, ale żaden z nich nie wspomina, w jaki sposób otrzymujesz zestaw plików cookie.

Naszym zamiarem byłoby ustawienie pliku cookie (sesji) strony docelowej (dla WSZYSTKICH ról użytkownika) i pobieranie tego pliku cookie na niektórych stronach, poprzez wyświetlenia, do użycia w adresie URL linku wychodzącego. Byłoby to bardzo proste w standardowym programowaniu (nawet rozumiem), ale zaczynam mieć poważne wątpliwości, czy jest to faktycznie możliwe w Drupal.

Riccardorb
źródło

Odpowiedzi:

4

Drupal ustawia już plik cookie sesji, gdy użytkownik się loguje: patrz funkcja drupal_session_regenerate () .

Czy możesz użyć tego identyfikatora sesji do swoich celów? Jeśli nie, musisz po prostu utworzyć nową wartość w pliku cookie w taki sam sposób, jak w PHP $_COOKIE['my_value'];. Umieść ten kod w hook_init()module niestandardowym, dodając, if()aby filtrować stronę docelową.

Później je odzyskujesz i używasz w swoim widoku; możesz użyć niektórych haków widoków w zależności od potrzeb. Możesz także użyć pola niestandardowego Widoki modułu i osadzić tam swój kod PHP.

corbacho
źródło
1
Jeśli wszystko, czego potrzebuje, to wartość sesji, może on również użyć $_SESSION[], ponieważ sesja jest zawsze inicjowana z Drupala.
kiamlaluno
2

Możesz ustawić plik cookie za pomocą: setcookie('cookiename',$valueOfCookie);

Możesz pobrać wartość cookie za pomocą: $_COOKIE['cookiename']

Ibrahim
źródło