【发布时间】:2017-11-09 15:54:07
【问题描述】:
有时我需要检查用户是否可以从 voter 发表评论,显然在代码的这一点上评论还不存在,但我仍然需要检查用户是否被允许评论与否。
从控制器我通常会做$this->isGranted('create', new Comment()) 但我应该如何在树枝上做同样的事情?我找不到明确的解释,我显然不能做{% if is_granted('create', new comment()) %}之类的事情。
有没有办法做到这一点,而无需从控制器中破解对象,例如从控制器渲染new Comment()?这样做可以让我避免在我的选民中出现大量意大利面条代码。
【问题讨论】:
-
您可以使用
TwigSimple_Function扩展 twig 这样做,您需要能够将任何$this作为对象传递给函数 -
将新评论传递给您的树枝模板可能更容易。或者在控制器中进行检查并将结果作为变量传递。
标签: symfony twig symfony2-voter