Get cookie from Twig template

Dadaz picture Dadaz · Oct 27, 2016 · Viewed 19.1k times · Source

I'm trying to access cookies I set in my Drupal website. I created two cookies on a form submission :

  • with the Drupal funtion = user_cookie_save(['myfirstcookie' => 'myfirstdata'])
  • with the classic PHP function = setcookie('mysecondcookie', 'myseconddata', time() + (86400 * 30), "/")

My cookies are set, no problem. But, I didn't find how to get them (or one of them) from my Twig templates. The app.request.cookies of Symfony seems to not exist.

Do you have any idea ?

Answer

Jovan Perovic picture Jovan Perovic · Oct 27, 2016

Twig has the global app helper context, via which you can access the cookies (among other things). Try this:

{{ dump(app.request.cookies) }}

And ultimately:

{{ app.request.cookies.get('MY_COOKIE_NAME') }}

Remember, cookies is an instance of ParameterBag (API), so you have to access it via get() call.

Hope this helps...