Score:0

จะรับรายการเมนูในเทมเพลต Twig เป็นอาร์เรย์ / วัตถุได้อย่างไร

ธง gb

ฉันต้องได้รับ (เช่น ตามชื่อเครื่องเมนู) และดำเนินการข้อมูลรายการเมนูเพื่อใช้ในเทมเพลต Drupal Twig เช่น:

<ul>
{% for item in items %}
    <li><a href="{{ item.url }}">{{ item.title }}</a></li>
{% endfor %}
</ul>

แต่ฉันไม่พบข้อมูลเกี่ยวกับวิธีการทำเช่นนั้น

สิ่งเดียวที่ฉันได้พบคือชอบ

{% นำเข้า _self เป็นเมนู %}
{{ menu.menu_links(รายการ คุณลักษณะ 0) }}
{% มาโคร menu_links(รายการ แอตทริบิวต์ menu_level) %}
...

แต่ฉันไม่เข้าใจวิธีใช้รหัสดังกล่าว เช่น ระบุชื่อเครื่องเมนูไว้ที่ใด ใช้ใน header.html.twig หรือเฉพาะใน menu.html.twig? ฯลฯ...

ru flag
1) ตัวแปรที่มีอยู่จะถูกจำกัดตามคำแนะนำเทมเพลต Twig ตามลำดับเสมอ คุณไม่สามารถรับรายการเมนูเดียวได้เช่น`head.html.twig` (และสิ่งนี้เป็นจริงสำหรับทุกเทมเพลตและทุกตัวแปร) 2) อ่าน [docs](https://twig.symfony.com/doc/2.x/tags/macro.html) 3 ) ติดตั้ง [โมดูล Twig Tweak](https://www.drupal.org/project/twig_tweak) จากนั้นทำ `{{ dd(_context) }}` เพื่อดำเนินการ var_dump ของตัวแปรที่มีทั้งหมดในเทมเพลตนั้น
Kevin avatar
in flag
ฉันจะช่วยคุณประหยัดเวลา คุณไม่จำเป็นต้องใช้ชื่อเครื่องเมนูใน twig เพราะคุณสามารถสร้างไฟล์ twig ด้วยรูปแบบการตั้งชื่อเฉพาะที่จะใช้กับเมนูเฉพาะตามชื่อเครื่องเสมอ
stckvrw avatar
gb flag
@Kevin ฉันตั้งชื่อเทมเพลตของฉันเป็น `menu--main.html.twig` (main คือชื่อเครื่องของเมนูของฉัน) วางโค้ดจาก `core/modules/system/templates/menu.html ในไฟล์ .twig` และรวมไฟล์ไว้ใน `header.html.twig` ของฉัน แต่เมนูยังไม่แสดงบนหน้า มีอะไรผิดปกติ?
Kevin avatar
in flag
ตามที่ความคิดเห็นแรกบอกว่าคุณไม่สามารถรวมไฟล์เทมเพลตแบบนั้นและให้มัน "ใช้งานได้" คุณต้องวางบล็อกเมนูในพื้นที่ที่ถูกต้องของธีมเพื่อให้เมนูแสดงผล

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา