web-dev-qa-db-ja.com

TwigテンプレートでノードURLを取得するにはどうすればよいですか?

TwigテンプレートでノードURLを取得しようとしています。{{ content.node_link }}は完全なリンクを返しますが、必要なのはURLだけです。

ノードのURLを取得するにはどうすればよいですか?

22
inalto

Functions-In Twig Templates によれば、

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

Node.html.twigでは、{{ url }}を直接使用できます

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

詳細については、コアテンプレートのコメントをご覧ください:/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

うまくいくこの解決策を見つけましたが、かなり複雑です。

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