Come posso ottenere l'URL del nodo in un modello Twig?


22

Sto cercando di ottenere l'URL del nodo in un modello Twig. {{ content.node_link }}restituisce il link completo, ma ho solo bisogno dell'URL.

Come recuperare l'URL del nodo?


4
Se guardi nel modello di nodo, vedrai che urlè una variabile disponibile. Pertanto, semplicemente la stampa, {{ url }}ad esempio, renderà l'URL non elaborato, /node/[nid]ovvero /node/30senza alcun markup di wrapping. È quello che stai cercando di fare?
Danny Englander,

Risposte:



11

In un node.html.twig puoi usare direttamente {{ url }}

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

Per ulteriori informazioni leggi il commento nel modello principale /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 }}

Dovresti spiegare la tua risposta più che "semplicemente". Una spiegazione, come quella che @Danny Englander ha scritto nel commento alla domanda, aiuta l'asker e gli altri a imparare di più su come hai trovato la tua risposta e su come possono aiutare se stessi in futuro.
mradcliffe,

Questo è il metodo più semplice, usando una variabile integrata nel modello di ramoscello del nodo.
Eric Steinborn,

Questa dovrebbe essere la risposta accettata
Capsule

7

Ho trovato questa soluzione che funziona, ma è piuttosto contorta.

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

4
Puoi usare node.idinvece dicontent['#node'].id()
4k4

2
Sto lavorando in vista con un modello di suite di visualizzazione e 'nodo' non è una delle chiavi disponibili. {{dump (_context | keys)}} fornisce solo queste chiavi: 'content', 'theme_hook_original', 'attributi', 'title_attributes', 'content_attributes', 'title_prefix', 'title_suffix', 'db_is_active', 'is_admin' , "logg_in", "user", "directory", "settings", "layout", "#cache", "theme_hook_suggestions"
inalto,

Ottima soluzione per i modelli della suite di visualizzazione. @ 4k4 content['#node'].id()è corretto per il contesto di DS.
Masterchief
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.