получить текущий идентификатор пользователя в twig symfony 3.4

#symfony #fosuserbundle

#symfony #fosuserbundle

Вопрос:

я использую FOSUserBundle в Symfony 3.4. я хочу получить текущий идентификатор пользователя и передать его в 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>
  

но проблема в том, что я получаю URL, подобный этому

 http://localhost/techeventsweb/web/app_dev.php/ajout/1/ 2
  

идентификатор равен ‘ 2’, в то время как предполагается, что это целое число ‘2’

Комментарии:

1. Похоже, у вас есть пробел перед {{ app.user.id …

2. @IwanWijaya спасибо, это работает

Ответ №1:

Когда у вас есть пользователь в сеансе вашего приложения, вы можете получить всю свою пользовательскую информацию из Twig с помощью этого: {{ app.user }} Затем, чтобы получить идентификатор пользователя, используйте {{ app.user.id }}

Несколько замечаний, если вы действительно хотите задать URL вручную, это лучшая практика:

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

Комментарии:

1. Хорошо 🙂 приятно было вам помочь