我想检查一个角色是否被授予.我必须只显示USER的内容,但MANAGER是上面的层次结构.
要做到这一点,我正在做:
{% if is_granted('ROLE_MANAGER') %}
{% else %}
my message
{% endif %}
Run Code Online (Sandbox Code Playgroud)
这不是很好.什么是正确的语法:
{% if is_NOT_granted('ROLE_MANAGER') %}
Run Code Online (Sandbox Code Playgroud)
想法?
要验证表单,我使用的是标准:
{{ form_widget(form.save, {'attr': {'class': 'btn btn-sm btn-danger'}, 'label': 'Submit form'}) }}
Run Code Online (Sandbox Code Playgroud)
我想在按钮中插入一个fontawsome图标.我试过了:
{{ form_widget(form.save, {'attr': {'class': 'btn btn-sm btn-danger'}, 'label': '<i class="fa fa-envelope-o"></i> Submit form'}) }}
Run Code Online (Sandbox Code Playgroud)
但它不起作用; 明显
知道怎么做吗?
快速问题我有一个var,我想检查它是否已定义(以避免在渲染中有错误),如果它不是null(如果为null则显示带有Else的东西)
{% if var is not null %} 作品
{% if var is defined %} 作品
{% if var is not null and is defined %} 什么不正确的语法?
编辑解决方法将是:
{% if var is defined %}
{% if var is not null %}
{{ var }}
{% else %}
blabla
{% endif %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)
那很多简单的代码...想法如何合并两个IF?
我有一个使用 FormBuilder 构建的表单:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('rosters', 'entity', array(
'class' => 'ReliefAppsPlatformBundle:Roster',
'property' => 'display',
'query_builder' => function(RosterRepository $r) use ($user) {
return $r->createQueryBuilder('r')
->leftJoin('r.members', 'm')
->addSelect('m')
->where('(m.rights = :adminRight or m.rights = :managerRight) and m.user = :user')
->setParameter('adminRight', RosterMember::ADMIN_LEVEL)
->setParameter('managerRight', RosterMember::MANAGER_LEVEL)
->setParameter('user', $user);
},
'required' => true,
'expanded' => true,
'multiple' => true
))
->add('save', 'submit')
;
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我的 QueryBuilder 使用 $user(当前用户)作为参数。我的控制器看起来像这样:
public function createAction(Request $request, Event $event)
{
$alert = new RosterEvent;
$alert->setEvent($event); …Run Code Online (Sandbox Code Playgroud) 我是FOS用户包的新手.我有用户并且想要创建一个促进它们的功能(它将执行相同的操作:
php app/console fos:user:promote testuser ROLE_MANAGER
Run Code Online (Sandbox Code Playgroud)
我的security.yml是:
role_hierarchy:
ROLE_MANAGER: ROLE_USER
ROLE_ADMIN: [ROLE_USER, ROLE_MANAGER, ROLE_ALLOWED_TO_SWITCH]
Run Code Online (Sandbox Code Playgroud)
知道如何从控制器那样做吗?我使用UserController.php创建了一个UserBundle来扩展FOS用户并创建一个配置文件.