ฉันพยายามรับ URL โหนดในเทมเพลต Twig {{ content.node_link }}
ส่งคืนลิงก์แบบเต็ม แต่ฉันต้องการ URL เท่านั้น
ฉันจะดึง URL โหนดได้อย่างไร
ฉันพยายามรับ URL โหนดในเทมเพลต Twig {{ content.node_link }}
ส่งคืนลิงก์แบบเต็ม แต่ฉันต้องการ URL เท่านั้น
ฉันจะดึง URL โหนดได้อย่างไร
คำตอบ:
ตามฟังก์ชั่น - ในเทมเพลตทวิกที่คุณสามารถใช้ง่ายโดย
{{ path('entity.node.canonical', {'node': node.id}) }}
node--
แม่แบบกิ่งไม้ที่ใช้จะให้ผลเหมือนกัน
ใน node.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 }}
ฉันได้พบวิธีแก้ปัญหาที่ใช้งานได้ แต่ค่อนข้างซับซ้อน
{{ path('entity.node.canonical', {'node': content['#node'].id() }) }}
node.id
แทนcontent['#node'].id()
content['#node'].id()
ถูกต้องสำหรับบริบท DS
url
เป็นตัวแปรที่มีอยู่ ดังนั้นเพียงแค่พิมพ์{{ url }}
ตัวอย่างเช่นจะทำให้ URL ที่ดิบ/node/[nid]
เช่น/node/30
โดยไม่ต้องมาร์กอัปห่อใด ๆ นั่นคือสิ่งที่คุณต้องการทำใช่ไหม