web-dev-qa-db-fra.com

Obtenez un cookie à partir du modèle Twig

J'essaie d'accéder aux cookies que j'ai définis sur mon site Web Drupal. J'ai créé deux cookies sur une soumission de formulaire:

  • avec la fonction Drupal funtion = user_cookie_save(['myfirstcookie' => 'myfirstdata'])
  • avec le classique PHP function = setcookie('mysecondcookie', 'myseconddata', time() + (86400 * 30), "/")

Mes cookies sont installés, pas de problème. Mais, je n'ai pas trouvé comment les obtenir (ou l'un d'eux) à partir de mes modèles Twig. L'app.request.cookies de Symfony ne semble pas exister.

Avez-vous une idée ?

12
Dadaz

Twig a le contexte d'assistance global app, via lequel vous pouvez accéder aux cookies (entre autres). Essaye ça:

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

Et ultimement:

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

N'oubliez pas que cookies est une instance de ParameterBag ( API ), vous devez donc y accéder via get() appel.

J'espère que cela t'aides...

32
Jovan Perovic

Past Cookie variable du contrôleur et vérifiez-le. Cela fonctionne pour moi. Mon code dans le contrôleur est:

$data['cookie'] = $_COOKIE['postcode'];

le code postal est mon nom de cookie et dans mon twig templete, j'écris cette ligne de code

{{  cookie  }}

et montrer ma valeur de cookie. Merci.

0
Y. Joy Ch. Singha