Bagaimana cara mengatur dan mengambil cookie?

12

Setelah beberapa hari dan lebih banyak jam, saya hanya menemukan masalah dan tambalan tentang apa yang harus dilakukan setelah cookie diatur, tetapi tidak ada yang menyebutkan bagaimana Anda mendapatkan set cookie di tempat pertama.

Tujuan kami adalah untuk menetapkan cookie (sesi) halaman arahan (untuk SEMUA peran pengguna) dan mengambil cookie itu pada halaman tertentu, melalui tampilan, untuk digunakan dalam URL tautan keluar. Ini akan sangat sederhana dalam pemrograman standar (bahkan saya mengerti) tetapi saya mulai ragu-ragu apakah ini benar-benar mungkin dalam Drupal.

Riccardorb
sumber

Jawaban:

4

Drupal sudah menetapkan cookie sesi ketika pengguna login : lihat fungsi drupal_session_regenerate () .

Bisakah Anda menggunakan ID sesi ini untuk tujuan Anda? Jika tidak, maka Anda hanya perlu membuat nilai baru dalam cookie dengan cara yang sama seperti yang Anda lakukan dalam PHP $_COOKIE['my_value'];,. Tempatkan kode ini di dalam hook_init()modul khusus, tambahkan a if()untuk memfilter halaman arahan.

Kemudian, Anda mengambilnya dan menggunakannya dalam tampilan Anda; Anda dapat menggunakan beberapa kait Tampilan tergantung pada kebutuhan Anda. Anda juga dapat menggunakan bidang kustom Tampilan modul , dan menyematkan kode PHP Anda di sana.

corbacho
sumber
1
Jika semua yang dia butuhkan adalah nilai sesi, maka dia juga dapat menggunakannya $_SESSION[], karena sesi selalu diinisialisasi dari Drupal.
kiamlaluno
2

Anda dapat mengatur cookie dengan: setcookie('cookiename',$valueOfCookie);

Anda dapat mengambil nilai cookie dengan: $_COOKIE['cookiename']

Ibrahim
sumber