Cum să setați și să recuperați cookie-urile? (Drupal, 7, Sesiuni)

Riccardorb a intrebat.

După mai multe zile și mai multe ore am găsit doar probleme și patch-uri despre ce trebuie făcut după ce un cookie este setat, dar nici unul nu menționează cum se stabilește un cookie în primul rând.

Intenția noastră ar fi să setăm un cookie (de sesiune) al paginii de destinație (pentru TOATE rolurile de utilizator) și să recuperăm acel cookie pe anumite pagini, prin vizualizări, pentru a-l folosi în URL-ul unui link de ieșire. Acest lucru ar fi foarte simplu în programarea standard (chiar și eu înțeleg), dar încep să am îndoieli considerabile dacă acest lucru este de fapt posibil în Drupal.

2 răspunsuri
corbacho

Drupal setează deja un cookie de sesiune atunci când un utilizator se conectează: vezi funcția drupal_session_regenerate().

Poți folosi acest session Id pentru scopurile tale? Dacă nu, atunci trebuie doar să creați o nouă valoare în cookie în același mod în care o veți face în PHP, $_COOKIE['my_value'];. Așezați acest cod în fișierul hook_init() al unui modul personalizat, adăugând un câmp if() pentru a filtra pagina de destinație.

Mai târziu, îl recuperați și îl utilizați în vizualizarea dvs. cârlige din Vizualizări în funcție de nevoile dumneavoastră. De asemenea, puteți utiliza modulul Vizualizări câmp personalizat, și să încorporați acolo codul dvs. PHP.

Comentarii

  • Dacă tot ce are nevoie este o valoare de sesiune, atunci poate folosi $_SESSION[] de asemenea, deoarece o sesiune este întotdeauna inițializată din Drupal. –  > Por kiamlaluno.
Ibrahim

Puteți seta un cookie cu: setcookie('cookiename',$valueOfCookie);

Puteți prelua valoarea cookie-ului cu: $_COOKIE['cookiename']

Tags:,