Jeśli spojrzysz na szablon węzła, zobaczysz, że urljest to dostępna zmienna. Tak więc {{ url }}na przykład zwykłe drukowanie spowoduje wyświetlenie surowego adresu URL, /node/[nid]tzn. /node/30Bez żadnego znacznika zawijania. Czy to właśnie chcesz zrobić?
Powinieneś wyjaśnić swoją odpowiedź bardziej niż „po prostu”. Wyjaśnienie, takie jak to, co napisał @Danny Englander w komentarzu do pytania, pomaga pytającemu i innym osobom dowiedzieć się więcej o tym , jak wymyśliłeś swoją odpowiedź i jak mogą sobie pomóc w przyszłości.
mradcliffe
Jest to najłatwiejsza metoda, wykorzystująca wbudowaną zmienną w szablonie gałązki węzła.
Eric Steinborn,
To powinna być zaakceptowana odpowiedź
Capsule
7
Znalazłem to rozwiązanie, które działa, ale jest dość skomplikowane.
Pracuję w widoku z szablonem zestawu wyświetlania, a „węzeł” nie jest jednym z dostępnych kluczy. {{dump (_context | keys)}} daje tylko te klucze: „content”, „theme_hook_original”, „atrybuty”, „title_attributes”, „content_attributes”, „title_prefix”, „title_suffix”, „db_is_active”, „is_admin” , „logged_in”, „user”, „directory”, „settings”, „layout”, „#cache”, „theme_hook_suggestions”
inalto
Świetne rozwiązanie dla szablonów zestawu wyświetlacza. @ 4k4 content['#node'].id()jest poprawny dla kontekstu DS.
url
jest to dostępna zmienna. Tak więc{{ url }}
na przykład zwykłe drukowanie spowoduje wyświetlenie surowego adresu URL,/node/[nid]
tzn./node/30
Bez żadnego znacznika zawijania. Czy to właśnie chcesz zrobić?Odpowiedzi:
Zgodnie z funkcjami - w szablonach gałązek można z łatwością korzystać
źródło
node--
opartym na szablonie gałązki da ci ten sam rezultat.W pliku node.html.twig możesz użyć bezpośrednio
{{ url }}
Aby uzyskać więcej informacji, przeczytaj komentarz w podstawowym szablonie
/core/modules/node/templates/node.html.twig
:źródło
Znalazłem to rozwiązanie, które działa, ale jest dość skomplikowane.
źródło
node.id
zamiastcontent['#node'].id()
content['#node'].id()
jest poprawny dla kontekstu DS.