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.