Score:0

แสดงรายการโหนดทั้งหมดที่มี ID พาเรนต์ของเมนูเดียวกัน

ธง pt

ฉันมีเมนูต่อไปนี้ในระบบของฉัน

ภาพหน้าจอ

ผู้ปกครอง ลิงค์เมนู เชื่อมต่อกับโหนดที่มีรหัส 58 ลิงก์เมนูย่อยทั้งหมดมีรหัสพาเรนต์เท่ากับ 58

ฉันต้องการค้นหาเมนูหลักและเมนูย่อยโดยใช้ 58 แต่ฉันหาตารางที่มีข้อมูลนั้นไม่สำเร็จ

ฉันจะแสดงรายการโหนดที่ใช้ ID เมนูเฉพาะร่วมกันได้อย่างไร

sonfd avatar
in flag
คุณกำลังพยายามค้นหาโหนดที่เป็นลูกของรายการเมนูหลักเฉพาะและทำอะไรบางอย่างกับพวกเขาหรือไม่? หรือคุณแค่พยายามแสดงรายการเมนูย่อยทั้งหมด (ไม่ว่ารายการเมนูย่อยจะชี้ไปที่โหนดหรืออื่นๆ)
pt flag
ใช่. ฉันกำลังพยายามให้โหนดทำบางอย่างกับพวกเขา ID โหนดพาเรนต์และออฟสปริงจะเข้าสู่ตรรกะบางอย่างที่อื่นในไซต์
Stefanos Petrakis avatar
in flag
@sisko คุณมีโอกาสลองคำตอบที่ฉันแนะนำไหม
Score:0
ธง in

เดอะ menu_link_content คำจำกัดความของเอนทิตีประกอบด้วยข้อมูลที่เกี่ยวข้องกับคำถามของคุณ กล่าวคือตารางฐานข้อมูลที่มีความสัมพันธ์ระหว่างพ่อแม่และลูกจะเป็น menu_link_content_data.

ด้านล่างนี้คือตัวอย่างโค้ดที่จะส่งอาร์เรย์ของโหนดรหัสที่กำหนดให้กับโหนดพาเรนต์ โดยมีเงื่อนไขว่าต้องมีลิงก์เมนูแนบกับโหนด รหัสนี้ใช้ API ของ Drupal แทนการสืบค้น SQL

<?php

// รับรูทตามโหนดที่กำหนด เช่น โหนด 58
$menu_link_root_entities = \Drupal::entityTypeManager()
  ->getStorage('menu_link_content')
  ->loadByProperties([
      'ลิงค์' => [
        'uri' => 'entity:node/58'
      ]
    ]
);
$menu_link_root = รีเซ็ต ($menu_link_root_entities);

// ต้องเรียกสิ่งนี้เพื่อสร้างอินสแตนซ์ของบริการ tree_storage
$menu_tree = \Drupal::menuTree();
// รับเอนทิตีเนื้อหาลิงก์เมนูตามพร็อพเพอร์ตี้หลัก
$menu_links = \Drupal::service('menu.tree_storage')->loadByProperties([
    // ต้องการค่าตัวกรอง เช่น menu_link_content:8031d182-7a0b-4798-839a-6c66bdd1f27b
    'parent' => 'menu_link_content:' $menu_link_root->uuid(),
]) ?: [ ];

$node_ids = array_map(ฟังก์ชัน($v){
    ส่งคืน $v['route_parameters']['node'];
}, $menu_links);

หวังว่านี่จะช่วยได้ ขอให้โชคดี!

โพสต์คำตอบ

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