Score:0

ฉันจะรับชื่อบันเดิลตามเส้นทางได้อย่างไร

ธง us

ฉันต้องการส่งตัวแปรไปยังทวิกที่ขึ้นอยู่กับเส้นทางหรือโหนดบางประเภท (บันเดิล) (หน้าผู้ใช้ ความคิดเห็น หน้า หรือประเภทเนื้อหาที่กำหนดเอง) ฉันใช้ชื่อเส้นทาง (เอนทิตี.comment.edit_form, entity.user.canonical) เพื่อจุดประสงค์นั้น

ตอนนี้ฉันต้องแยกโหนดบางประเภท (เช่น ฉันไม่สามารถใช้ just entity.node.canonical ในทุกกรณี ฉันต้องสร้างเงื่อนไขพิเศษสำหรับโหนดบางประเภท) ฉันจะรับประเภทโหนด (บันเดิล) ตามชื่อเส้นทาง/วัตถุได้อย่างไร

รหัสของฉันอยู่ใน .ธีม ไฟล์ใน HOOK_preprocess_page(&$ตัวแปร)

UPD: โอเค ฉันค้นพบว่ามีจริง $ตัวแปร['โหนด'] ซึ่งมีสิ่งที่ฉันต้องการ $ตัวแปร['โหนด']->getType()

แต่สมมุติว่าฉันมีเส้นทาง ฉันจะรับ ID จากมันและโหลดโหนดได้อย่างไร

Score:1
ธง cn

Drupal กำลังจัดเตรียมตัวแปรดังกล่าวสำหรับเทมเพลต html:

/**
 * ใช้ hook_preprocess_HOOK() สำหรับเทมเพลตเอกสาร HTML
 */
ฟังก์ชัน node_preprocess_html(&$ตัวแปร) {
  // หากอยู่ในหน้าโหนดแต่ละหน้าหรือหน้าแสดงตัวอย่างโหนด ให้เพิ่มประเภทโหนดเข้าไป
  // คลาสของร่างกาย
  ถ้า (($node = \Drupal::routeMatch()->getParameter('node')) || ($node = \Drupal::routeMatch()->getParameter('node_preview'))) {
    ถ้า ($ โหนดอินสแตนซ์ของ NodeInterface) {
      $variables['node_type'] = $node->getType();
    }
  }
}

รหัสนี้ใช้งานได้ในของคุณ HOOK_preprocess_page(&$ตัวแปร) เช่นกัน.

UPD: getParameter('โหนด') รับโหนดที่โหลดแล้ว ดังนั้นคุณไม่จำเป็นต้องรับ ID เพื่อโหลดโหนด แต่ถ้าคุณต้องการ ID ให้ใช้ getRawParameter('โหนด').

โพสต์คำตอบ

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