为什么smarty 3不考虑codeIgniter会话变量:
$this->session->set_userdata('userId', $res['id']); // this doesn't work
$_SESSION['userId']=$res['id']; // this works.我在smarty中以如下方式访问它:
{$smarty.session.userId} 发布于 2012-10-15 21:42:57
CI (!)不使用PHP超全局$_SESSION...
请阅读此处,了解一种将CI会话暴露给Smarty的好方法。
http://ellislab.com/codeigniter/forums/viewthread/110540/#571279
发布于 2012-10-15 21:36:16
在codeIgniter中
$this->session->set_userdata()函数将数据保存在cookie中,因此不能通过会话获取数据。
发布于 2014-10-29 21:54:44
你可以这样做:
控制器中的
$data'session'=$this->session->userdata;
$this->smarty_parser->parse("smarty.php",$data);
或者,如果你不想在你的控制器中每次都这样做,你可以把它移到你的聪明的包装器类中。
在您的智能包装器(smarty_parser.php)中使用
函数解析($template,$data,$return = FALSE) {
如果($template == '')返回FALSE;$CI =& get_instance();
会话开始*/ $ /*‘session’=$CI->session->userdata;... }
然后,您可以使用以下命令访问模板中的所有会话数据
{$session.session_id} https://stackoverflow.com/questions/12896708
复制相似问题