Bir düğüm şablonunda düğüm URL'sini nasıl alabilirim?


22

Bir Twig şablonunda düğüm URL'sini almaya çalışıyorum. {{ content.node_link }}tam bağlantıyı döndürür, ancak yalnızca URL'ye ihtiyacım var.

Düğüm URL'sini nasıl alabilirim?


4
Düğüm şablonuna bakarsanız url, bunun kullanılabilir bir değişken olduğunu göreceksiniz . Böylece {{ url }}, örneğin yazdırmak ham URL'yi, /node/[nid]yani /node/30herhangi bir kaydırma işaretlemesi olmadan oluşturur. Yapmak istediğiniz bu mu?
Danny Englander

Yanıtlar:



11

Bir node.html.twig dosyasında doğrudan {{ url }}

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

Daha fazla bilgi için çekirdek şablondaki yorumu okuyun /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 }}

Cevabınızı "basitçe anlatmak" yerine daha fazla açıklamalısınız. Böyle @Danny Englander soru yorumunda yazdıklarını olarak bir açıklama, asker ve diğerleri hakkında daha fazla bilgi için yardımcı olur nasıl size cevap ve nasıl gelecekte kendilerine yardım edebilir ortaya attı.
mradcliffe

Bu, düğüm dal şablonunda yerleşik bir değişken kullanan en kolay yöntemdir.
Eric Steinborn

Kabul edilen cevap bu olmalı
Kapsül

7

İşe yarayan ama oldukça kıvrımlı bir çözüm buldum.

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

4
node.idcontent['#node'].id()
Şunun

2
Bir display suite şablonu ile çalışıyorum ve 'düğüm' mevcut anahtarlardan biri değil. {{dump (_context | keys)}} yalnızca şu anahtarları verir: 'content', 'theme_hook_original', 'attributes', 'title_attributes', 'content_attributes', 'title_prefix', 'title_suffix', 'db_is_active', 'is_admin' , 'log_in', 'kullanıcı', 'dizin', 'ayarlar', 'düzen', '#cache', 'theme_hook_suggestions'
inalto

Display suite şablonları için mükemmel çözüm. @ 4k4 content['#node'].id(), DS bağlamı için doğrudur.
masterchief
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.