我在网上搜索了很多如何$_SESSION
从TWIG模板访问全局数组的方法,并发现了以下内容:{{app.session.get('index')}}
,但是当我调用它时,它返回一个空字符串。我有一个$_SESSION['filter']['accounts']
和打电话时,我收到此错误{{app.session.get('filter').accounts}}
:Item "accounts" for "" does not exist
。我做错了什么?
{{app.session}}
引用Session
对象而不是$_SESSION
数组。我不认为该$_SESSION
数组是可访问的,除非您将其显式传递给每个Twig模板,或者进行扩展使其可用。
Symfony2是面向对象的,因此您应该使用该Session
对象设置会话属性,而不要依赖数组。该Session
对象会将这些东西从您那里抽象出来,因此,例如,将会话存储在数据库中比较容易,因为存储会话变量对您而言是隐藏的。
因此,在会话中设置属性,并使用该Session
对象在树枝模板中检索值。
// In a controller
$session = $this->get('session');
$session->set('filter', array(
'accounts' => 'value',
));
// In Twig
{% set filter = app.session.get('filter') %}
{% set account-filter = filter['accounts'] %}
希望这可以帮助。
问候,
马特
问题内容: 如果我在Django中设置会话变量,例如: 有什么方法可以从模板中访问它,还是必须从视图中检索它,然后将其传递给模板? 询问是因为我想在模板中访问大约10个小会话变量,然后将所有10个从视图传递到模板可能会有些混乱。 (我必须使用会话变量,因为它是HttpResponseRedirect,但是出于我的目的,将变量存储在数据库中是过大的。) 那么-有什么方法可以直接在模板中获取会话变量?
问题内容: 我想知道是否有一种简单的方法可以从Jade模板中访问Express.js的req或会话变量,而无需通过常规响应传递它。 还是这是唯一的方法? 问题答案: 您需要创建一个Express才能使用。 然后在模板内部,您可以使用或其他任何东西。 注意:Express 3中不推荐使用dynamicHelpers
我试图从一个Liferay模板中发出自定义字段的值。 使用管理员界面,我定义了一个名为“org home page”的新组织级自定义字段,默认值为“tom rules”。 我想在portal_normal中发出这个值。虚拟机 我根据一位同事发送的一些帖子和样本,以及我自己的大量实验,拼凑出了这段代码: 不幸的是,Velocity无法解析表达式,并且保持不变。 以下表达式在portal_normal
本文向大家介绍twig模板常用语句实例小结,包括了twig模板常用语句实例小结的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了twig模板常用语句。分享给大家供大家参考,具体如下: 最近写的静态页面需要套symfony模板,所以将使用到的twig模板语句做一个总结:希望能帮到初学者。 代码结构如下: 需要注意的是:在%外部不能写HTML注释 本文永久地址:http://blog.it985
问题内容: 我的一个实体中的一个字段是“ datetime”变量。 如何将该字段转换为字符串以在浏览器中呈现? 这是一个代码片段: 这是我的实体类中的变量: 这是我收到的错误消息: 呈现模板期间引发了异常(“可捕获的致命错误:DateTime类的对象无法在… \ app \ cache \ dev \ twig \ 9b \ ad \ 58fd3bb1517632badf1fdc7fa4a8.ph