是否可以在所有树枝模板中访问特定于用户的方法?

戈特利布·诺施纳贝尔

我正在将Symfony2与FOSUserBundle一起使用。我创建了一个方法,询问用户是否已执行特定操作,例如$user->hasVoted()

在我的树枝模板中,我想问一下

{% if user.hasVoted() %}

每个模板中(因为它暗示要包括其他部分),但是我不想将整个$user对象传递给每个模板。

有没有什么方法可以使该用户方法在所有模板中都可以访问(或者我也可以将布尔值传递给所有模板),而不必将其显式传递给每个模板?

我知道从Symfony Cookbook将变量注入所有模板的知识

# app/config/config.yml
twig:
    # ...
    globals:
        ga_tracking: UA-xxxxx-x

但是Cookbook条目要么告诉您如何注入静态值(如上面的示例中所示),要么告诉您如何注入服务。

有没有一种简单的方法,如何在不必定义服务并将其注入的情况下包括这个布尔值

# app/config/config.yml
twig:
    # ...
    globals:
        user_has_voted: "@acme_user.user_has_voted"
艾米·考斯(Emii Khaos)

通过app.user任何地方都可以使用经过身份验证的用户

{% if app.user.hasVoted() %}

或者,以更简洁的方式,您可以创建诸如树枝扩展名is_granted这使您可以在将来更改逻辑,而无需更改模板。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在所有树枝页面均可访问的ndoe js中设置全局变量

iptables是否在所有用户中同时工作?

在所有本地组中搜索特定的用户ID

g:如何验证用户是否可以访问模板中的页面

如何在所有模板中访问自定义对象表达应用程序?

Kendo MVC C#是否可以在某种模板中包含通用字段以轻松地包含在所有网格中?

使用Google表单和脚本是否可以创建一个脚本,该脚本将限制用户在所有比例输入中可以给出的点数?

mongodb 中是否有任何方法可以创建仅对数据库的特定视图具有“读取”访问权限的“用户”?

在InstallShield安装中是否可以有特定于发行版的支持文件?

在C#Winforms中,是否有一种方法可以在所有控件周围放置虚线边框,并在运行时选择特定控件时显示抓点?

如何在所有页面上都可以访问的内容脚本中创建变量

用户ID在所有OAuth提供程序中是否唯一?

是否可以在所有程序中扩展单词的重音功能?

在ANTLR中是否可以在所有情况下都消除左递归?

在html / templates中,是否可以在所有页面上使用恒定的页眉/页脚?

是否可以在所有列中设置not null子句而不指定not null子句?

是否可以在 OpenApi 3 中创建特定于环境的路径?

IntelliJ是否可以在特定接口的所有方法中添加@Overrrides?

在所有文档就绪处理程序运行之前,用户是否可以与我的网站进行交互?

获取所有树枝模板的列表Symfony

有没有办法创建一个可以在所有活动中访问的全局变量

.NET中是否有任何内容可用于特定于文化的所有工作日的缩写?

在树枝模板中访问PHP Global

除了最后一个模板参数,是否可以访问所有内容?

是否可以将已安装的应用程序从“所有用户”更改为特定用户?

Jmeter:是否可以在所有其他线程组都完成之后运行特定的线程组

在Django中,是否可以从包含标签内的父模板的上下文访问当前用户会话?

如何使方法在所有子包中都可访问

使用Linux查找端口是否在所有本地网络中打开的快速方法