php - CodeIgniter 如何访问 Twig 模板中的 session 变量

标签 php codeigniter session variables twig

有人可以帮助我。我是 CodeIgniter 和 Twig 的新手。我在我的 Controller 中声明了以下内容:

$datasession = array(
'nick' => $sess_nick,
'login_ok' => true
);

$this->session->set_userdata($datasession);

redirect('app'); //app is a controller that render the template view.

那么,问题是:如何从 Twig 模板中获取这些变量?我尝试使用:

{{ session.userdata.nick }}

但它显示为空字符串。

提前致谢。

最佳答案

要在您的 Twig 模板上添加 session 变量,您必须在 Twig 库或 Controller 中添加以下行。

$datasession = array(
    'nick' => $sess_nick,
    'login_ok' => true
);
$this->session->set_userdata($datasession);
$this->_twig->addGlobal("session", $this->CI->session);

然后在你的 Twig 模板上,你可以像这样打印 session

{{ session.userdata.nick }}

由于在CodeIgniter 中,用户存储的session 通常在userdata 数组中。否则,您可以简单地调用 session 变量和名称

{{ session.nick }}

来源:http://llanalewis.blogspot.co.uk/2013/08/codeigniter-add-session-in-twig.html

关于php - CodeIgniter 如何访问 Twig 模板中的 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23286362/

相关文章:

mysql - 无法连接数据库

java - Spring PetClinic 和 HttpRequest session

spring - 在 Spring 销毁另一个用户的 session

php - 限制在并发的时间段添加一行

PHP:用逗号分隔数组

javascript - jQuery Ajax 请求不发送信息

php - session 的正确使用方法?

php - 对非常相似的图像进行排序 PHP OCR

php - Codeigniter PHP 从 mysql 数据库表中提取记录以显示在页面上

codeigniter - show_404() 中的自定义 View 不起作用