2016-08-05 31 views
0

我是Silex的新成员。 我正在使用this脚本。在Silex中使用表单类型(用户/管理员)2

我在评论表中添加了一个新字段“status”,以便管理员验证评论。

this脚本中,我们有一个表单类型以供评论。

我想修改这个文件,如果它是一个简单的用户,显示textarea,如果它是管理员,则用textarea +选择字段来改变评论的状态。

我不能使用ROLE_ADMIN检查:

if ($app['security.authorization_checker']->isGranted('ROLE_ADMIN')) 

你怎么建议,简单地显示不同的形式,这取决于角色的用户?

回答

0

你有一些选择。

  1. 你可以在你的formtype中传递容器。 $ app是DI容器,所以你只有在你的类中传递它时才能访问它。

  2. 创建第二种类型,它扩展了您的表单类型或只生成复选框。在你的控制器中你应该访问$ app然后做出选择。

+0

感谢您的回答。我会查一下。我知道我可以添加更多的表单类型,但我不想为将来可以添加的所有特定表单添加50个表单类型。也许第一个选项更优化。 –

相关问题