在树枝中将变量传递给 is_granted (Symfony)
Passing Variable to is_granted in twig (Symfony)
我在获取 twig 中的 is_granted 函数来测试变量时遇到了问题。在这种情况下,我正在测试当前用户是否被授予 form.roles 中包含的角色,但不幸的是 is_granted 测试将只接受一个字符串,并且传递一个变量总是返回 false。
<div class="form-group well">
{{ form_label(form.roles) }}
{% for role in form.roles %}
{{ role.vars.value|trim }}{% if is_granted('{{ role.vars.value }}') %}
<div class="row marketing ">
<div class="col-sm-6">
{{ form_label(role) }}
</div>
<div class="col-sm-6">
{{ form_widget(role, {"attr": {"class": "form-control"}} ) }}
</div>
</div>
{% endif %}
{% endfor %}
</div>
我试图过滤输出以确保它是一个字符串,但没有成功,并且 {% if is_granted('{{ role.vars.value }}') %} 中的引号如果不包括在内,则必须作为系统错误存在。
这段代码的输出是:
Allocated Roles ROLE_SYSTEM_ADMIN ROLE_REGISTRAR ROLE_ADMIN ROLE_PRINCIPAL ROLE_HEAD_TEACHER ROLE_TEACHER ROLE_STUDENT ROLE_PARENT ROLE_USER
知道如何让 is_granted 从给定的值进行测试吗?
您不应该打开新的 Twig 标签。 {{ ... }}
用于转储(回显),在这种情况下,您不想 echo/dump role.vars.value
的内容。所以将其更改为:{% if is_granted(role.vars.value) %}
我在获取 twig 中的 is_granted 函数来测试变量时遇到了问题。在这种情况下,我正在测试当前用户是否被授予 form.roles 中包含的角色,但不幸的是 is_granted 测试将只接受一个字符串,并且传递一个变量总是返回 false。
<div class="form-group well">
{{ form_label(form.roles) }}
{% for role in form.roles %}
{{ role.vars.value|trim }}{% if is_granted('{{ role.vars.value }}') %}
<div class="row marketing ">
<div class="col-sm-6">
{{ form_label(role) }}
</div>
<div class="col-sm-6">
{{ form_widget(role, {"attr": {"class": "form-control"}} ) }}
</div>
</div>
{% endif %}
{% endfor %}
</div>
我试图过滤输出以确保它是一个字符串,但没有成功,并且 {% if is_granted('{{ role.vars.value }}') %} 中的引号如果不包括在内,则必须作为系统错误存在。
这段代码的输出是:
Allocated Roles ROLE_SYSTEM_ADMIN ROLE_REGISTRAR ROLE_ADMIN ROLE_PRINCIPAL ROLE_HEAD_TEACHER ROLE_TEACHER ROLE_STUDENT ROLE_PARENT ROLE_USER
知道如何让 is_granted 从给定的值进行测试吗?
您不应该打开新的 Twig 标签。 {{ ... }}
用于转储(回显),在这种情况下,您不想 echo/dump role.vars.value
的内容。所以将其更改为:{% if is_granted(role.vars.value) %}