首页 > 解决方案 > 使用 Twig 模板访问 cookie 值

问题描述

用户提交登录表单后,如果单击“记住我”复选框,用户名将存储在 cookie 变量中。之后,当用户再次尝试登录时,他的用户名应该出现在登录表单的用户名字段中。但我无法使用 Twig 模板获取 cookie 值。Cookie 存在于 $_COOKIE 超全局变量中,但我不知道如何通过 twig 模板访问它。

尝试使用下面的这段代码访问它,但它不起作用。

{% if app.request.cookies.has('remember_me') %}
  {{app.request.cookies.get('remember_me')}}
{% endif %}

标签: phptwig

解决方案


我相信这个答案会解决你的问题。

您可以使用 TwigsaddGlobal功能来执行此操作。见手册

// Add static text
$twig->addGlobal('text', 'Hello World');
// Add array
$twig->addGlobal('arr', array(1, 2, 3));
// Add objects
$twig->addGlobal('obj', $obj);

您只需添加一个名为 Global 并将cookies其设置为$_COOKIE. 您现在可以通过从 twig 内部调用 cookies 变量来访问 cookie。


推荐阅读