Comment paramétrer et récupérer les cookies?

12

Après plusieurs jours et plusieurs heures, je n'ai trouvé que des problèmes et des correctifs sur ce qu'il faut faire une fois qu'un cookie est défini, mais aucun ne mentionne comment obtenir un cookie en premier lieu.

Notre intention serait de définir un cookie (de session) de la page de destination (pour TOUS les rôles d'utilisateur) et de récupérer ce cookie sur certaines pages, via des vues, à utiliser dans l'URL d'un lien sortant. Ce serait très simple en programmation standard (même si je comprends bien) mais je commence à avoir des doutes considérables si c'est réellement possible dans Drupal.

Riccardorb
la source

Réponses:

4

Drupal définit déjà un cookie de session lorsqu'un utilisateur se connecte: voir la fonction drupal_session_regenerate () .

Pouvez-vous utiliser cet identifiant de session à vos fins? Sinon, il vous suffit de créer une nouvelle valeur dans le cookie de la même façon que vous allez faire en PHP, $_COOKIE['my_value'];. Placez ce code dans le hook_init()module personnalisé, en ajoutant un if()pour filtrer la page de destination.

Plus tard, vous le récupérez et l'utilisez dans votre vue; vous pouvez utiliser certains des crochets de vues en fonction de vos besoins. Vous pouvez également utiliser le champ personnalisé Vues du module et y incorporer votre code PHP.

corbacho
la source
1
Si tout ce dont il a besoin, c'est d'une valeur de session, il peut $_SESSION[]également l' utiliser , car une session est toujours initialisée à partir de Drupal.
kiamlaluno
2

Vous pouvez définir un cookie avec: setcookie('cookiename',$valueOfCookie);

Vous pouvez récupérer la valeur du cookie avec: $_COOKIE['cookiename']

Ibrahim
la source