Wie erhalte ich die Knoten-URL in einer Twig-Vorlage?


22

Ich versuche, die Knoten-URL in einer Twig-Vorlage abzurufen. {{ content.node_link }}Gibt den vollständigen Link zurück, ich benötige jedoch nur die URL.

Wie rufe ich die Knoten-URL ab?


4
Wenn Sie sich die Knotenvorlage ansehen, sehen Sie, dass urles sich um eine verfügbare Variable handelt. So wird beispielsweise durch einfaches Drucken {{ url }}die rohe URL gerendert, /node/[nid]dh /node/30ohne Umbruchmarkierung. Ist es das, wonach Sie suchen?
Danny Englander

Antworten:



11

In einer node.html.twig können Sie direkt verwenden {{ url }}

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

Weitere Informationen finden Sie im Kommentar in der Kernvorlage /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 }}

Sie sollten Ihre Antwort eher erklären als "einfach ausgedrückt". Eine Erklärung, wie etwa das, was @Danny Englander in dem Fragenkommentar geschrieben hat, hilft dem Fragesteller und anderen, mehr darüber zu erfahren, wie Sie auf Ihre Antwort gekommen sind und wie sie sich in Zukunft selbst helfen können.
Mradcliffe

Dies ist die einfachste Methode, bei der eine in die Node Twig-Vorlage integrierte Variable verwendet wird.
Eric Steinborn

Das sollte die akzeptierte Antwort sein
Kapsel

7

Ich habe diese Lösung gefunden, die funktioniert, aber ziemlich kompliziert ist.

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

4
Sie können node.idanstelle voncontent['#node'].id()
4k4

2
Ich arbeite in View mit einer Display Suite-Vorlage und 'node' ist keiner der verfügbaren Schlüssel. {{dump (_context | keys)}} gibt nur diese Schlüssel aus: 'content', 'theme_hook_original', 'attributes', 'title_attributes', 'content_attributes', 'title_prefix', 'title_suffix', 'db_is_active', 'is_admin' , 'eingeloggt', 'Benutzer', 'Verzeichnis', 'Einstellungen', 'Layout', '#Cache', 'Theme_Hook_Suggestions'
inalto

Tolle Lösung für Display Suite-Vorlagen. @ 4k4 content['#node'].id()ist für den DS-Kontext korrekt.
Masterchief
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.