I created a template user-comment.html.twig to customize the rendering of the comments author.

I can not display the user account url:


does not work.

How to display the user's url in a template?

 * @file
 * Default theme implementation to present all user data.
 * This template is used when viewing a registered user's page,
 * e.g., example.com/user/123. 123 being the user's ID.
 * Available variables:
 * - content: A list of content items. Use 'content' to print all content, or
 *   print a subset such as 'content.field_example'. Fields attached to a user
 *   such as 'user_picture' are available as 'content.user_picture'.
 * - attributes: HTML attributes for the container element.
 * - user: A Drupal User entity.
 * @see template_preprocess_user()
 * @ingroup themeable
<article{{ attributes.addClass('user--comment') }}>

  {{ content.user_picture }}
  {{ user.label }}
  <div class="bs-field-status">
    {{ content.utilisateur_statut_entity_view_1 }}
    {{ content.utilisateur_statut_entity_view_2 }}
    {{ content.utilisateur_statut_entity_view_3 }}

  <div class="bs-field-link">
    <a href="{{ user.url }}" title="{{ user.label }}"></a>


1 Answer 1


You can use the path function in a Twig template:

<a href="{{ path('entity.user.canonical', {'user': user.id}) }}">{{ 'View user profile'|t }}</a>

I don't know if user.url is a thing.

  • 1
    @Kevin, $user->url() is a thing, but unfortunately the Twig sandbox policies don't allow it. So you have to use this workaround if you don't want to put this PHP in a preprocess hook.
    – 4uk4
    Nov 20, 2018 at 20:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.