小编Rap*_*l_b的帖子

Twig:如果is_granted('ROLE_MANAGER')检查未被授予

我想检查一个角色是否被授予.我必须只显示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)

想法?

php symfony twig

17
推荐指数
2
解决办法
3万
查看次数

Symfony-Twig:在form_widget中插入fontawesome图标

要验证表单,我使用的是标准:

{{ 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)

但它不起作用; 明显

知道怎么做吗?

forms symfony twig

10
推荐指数
5
解决办法
8954
查看次数

TWIG:已定义且不为空

快速问题我有一个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?

symfony twig

9
推荐指数
3
解决办法
2万
查看次数

Symfony:在表单中使用查询构建器

我有一个使用 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)

query-builder symfony

5
推荐指数
1
解决办法
1125
查看次数

Symfony:FOS用户捆绑包通过控制器提升用户

我是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用户并创建一个配置文件.

symfony

3
推荐指数
1
解决办法
3043
查看次数

标签 统计

symfony ×5

twig ×3

forms ×1

php ×1

query-builder ×1