在twig symfony 3.4中获取当前用户ID

时间:2019-03-22 03:35:43

标签: symfony fosuserbundle

我在Symfony 3.4中使用FosUserBundle,我想获取当前用户ID并将其以URL的形式从twig传递到另一页,这是我的代码:

<a href="{{ absolute_url(asset('')) }}app_dev.php/ajout/{{ event.id }}/{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %} {{  app.user.id|number_format  }}
{% endif %}">Réserver</a>

但是问题是我得到了这样的网址

http://localhost/techeventsweb/web/app_dev.php/ajout/1/%202

id为'%202',而它应该是整数'2'

1 个答案:

答案 0 :(得分:0)

在应用会话中有一个用户时,您可以使用以下方法从Twig获取所有用户信息:{{ app.user }} 然后,要获取用户ID,请使用{{ app.user.id }}

有些话,如果您真的想手动设置网址,这是最佳做法:

{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
    {% set url = absolute_url(asset('')) ~ 'app_dev.php/ajout/' ~ event.id ~ '/' ~ app.user.id %}
{% else %}
    {% set url = "OTHER_URL" %}
{% endif %}

<a href="{{ url }}">Réserver</a>