web-dev-qa-db-fra.com

Comment obtenir l'URL du nœud dans un modèle Twig?

J'essaie d'obtenir l'URL du nœud dans un modèle Twig. {{ content.node_link }} renvoie le lien complet, mais je n'ai besoin que de l'URL.

Comment récupérer l'URL du nœud?

22
inalto

Selon Fonctions - Dans Twig Templates vous pouvez utiliser est simple en

 {{ path('entity.node.canonical', {'node': node.id}) }}
31
Yusef

Dans un node.html.twig, vous pouvez directement utiliser {{ url }}

<a href="{{ url }}">read more</a>

Pour plus d'informations, lisez le commentaire dans le modèle de base: /core/modules/node/templates/node.html.twig:

{#
/**
 * @file
 * Default theme implementation to display a node.
 *
 * Available variables:
 * - node: The node entity with limited access to object properties and methods.
 * ...
 * - url: Direct URL of the current node.
 * ...
#}
...

<article{{ attributes }}>

  {{ title_prefix }}
  {% if not page %}
    <h2{{ title_attributes }}>
      <a href="{{ url }}" rel="bookmark">{{ label }}</a>
    </h2>
  {% endif %}
  {{ title_suffix }}
12
toto21

J'ai trouvé cette solution qui fonctionne, mais qui est assez compliquée.

{{ path('entity.node.canonical', {'node': content['#node'].id()  }) }}
7
inalto