मैं Twig टेम्पलेट में नोड URL कैसे प्राप्त करूं?


22

मैं एक नोड टेम्पलेट में नोड URL प्राप्त करने की कोशिश कर रहा हूं। {{ content.node_link }}पूर्ण लिंक देता है, लेकिन मुझे केवल URL की आवश्यकता है।

मैं नोड URL कैसे प्राप्त करूं?


4
यदि आप नोड टेम्प्लेट में देखते हैं, तो आप देखेंगे कि urlएक उपलब्ध चर है। इस प्रकार केवल {{ url }}उदाहरण के लिए मुद्रण कच्चे URL को प्रस्तुत करेगा, /node/[nid]अर्थात /node/30बिना किसी रैपिंग मार्कअप के। क्या आप जो करना चाह रहे हैं?
डैनी इंग्लैंडर

जवाबों:


30

फंक्शंस के अनुसार - ट्विग टेम्प्लेट्स में आप द्वारा उपयोग किया जा सकता है

 {{ path('entity.node.canonical', {'node': node.id}) }}

3
यह समाधान काम करता है, और बहुत सुंदर है। लेकिन node--आधारित टहनी टेम्पलेट में {{url}} का उपयोग करने से आपको वही परिणाम मिलेगा।
एरिक स्टीनबॉर्न

11

एक नोड.html.twig में आप सीधे उपयोग कर सकते हैं {{ url }}

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

अधिक जानकारी के लिए मुख्य टेम्पलेट में टिप्पणी पढ़ें /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 }}

आपको "सीधे शब्दों में कहें" के बजाय अपना उत्तर स्पष्ट करना चाहिए। एक स्पष्टीकरण, जैसे कि @Danny Englander ने प्रश्न टिप्पणी में क्या लिखा है, यह पूछने वाले और अन्य लोगों को इस बारे में अधिक जानने में मदद करता है कि आप अपने उत्तर के साथ कैसे आए और वे भविष्य में स्वयं की मदद कैसे कर सकते हैं।
mradcliffe

नोड ट्विग टेम्प्लेट में अंतर्निहित चर का उपयोग करके यह सबसे आसान तरीका है।
एरिक स्टीनबॉर्न

इसका स्वीकृत उत्तर होना चाहिए
कैप्सूल

7

मुझे यह समाधान मिला है जो काम करता है, लेकिन काफी जटिल है।

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

4
आप node.idइसके बजाय का उपयोग कर सकते हैंcontent['#node'].id()
4k4

2
मैं एक प्रदर्शन सूट टेम्पलेट के साथ काम कर रहा हूं और 'नोड' उपलब्ध कुंजियों में से एक नहीं है। {} , 'log_in', 'user', 'directory', 'settings', 'layout', '#cache', 'theme_hook_suggestions'
inalto

प्रदर्शन सूट टेम्पलेट्स के लिए महान समाधान। @ 4k4 content['#node'].id()डीएस संदर्भ के लिए सही है।
मास्टर जूल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.