Score:1

วิธีโหลดมุมมองโดยทางโปรแกรม

ธง om

ฉันได้สร้างมุมมองที่ต้องการดึงผลลัพธ์จากภายในโมดูล บน drupal.org ล่าสุด คำแนะนำ น่าจะเป็น

$entity = \Drupal::entityTypeManager()->getStorage($entity_type)->โหลด(1)

นี่คือรหัสของฉัน

/** @var \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager */
$view = \Drupal::entityTypeManager()
  ->getStorage('ดู')
  ->โหลด($view_id);
$view->getDisplay('latest_blog');

ดูเหมือนว่าจะเข้าใกล้ฉันมาก - ในการดีบัก ฉันเห็นคุณสมบัติที่ระบุชัดเจนว่าฉันได้รับวัตถุ

ฉันมาถูกทางแล้วและขาดชิ้นส่วนเล็ก ๆ น้อย ๆ ไปหรือเปล่า? การโหลดคำอนุกรมวิธานหรือโหนดเป็นเรื่องง่ายแต่สิ่งนี้ดูทำให้ฉันงุนงงและฉันไม่พบสิ่งใดมากไปกว่าวิธี Drupal 7 แบบเก่าในการทำเช่นนี้

Les Lim avatar
us flag
การรับผลลัพธ์ของเอนทิตีอาจเป็นการแสดงเอนทิตี โดยทั่วไป *การโหลด* ใช้เพื่อหมายถึง *การดึงเอนทิตีจากที่เก็บข้อมูล* เท่านั้น
sea26.2 avatar
om flag
@LesLim ฉันไม่เห็นด้วย... การค้นหาสิ่งนั้น (ซึ่งฉันทำโดยบังเอิญ) จะแสดงวิธี "เรนเดอร์" มุมมอง นั่นไม่ใช่สิ่งที่ฉันต้องการ คำตอบโดยใช้บริบทเดียวกันให้ผลลัพธ์ที่ฉันคาดหวังสำหรับโหนด ดูเหมือนว่าควรนำไปใช้กับมุมมอง
Les Lim avatar
us flag
จากนั้น ฉันคิดว่าฉันไม่แน่ใจว่าคุณคาดหวังที่จะเห็นอะไรในเอนทิตีที่โหลด ซึ่งคุณไม่เห็น
Score:3
ธง cn

คุณอาจต้องการโหลดไฟล์ ViewExecutable:

คลาส ViewExecutable

แสดงถึงมุมมองโดยรวม

วัตถุที่มีข้อมูลทั้งหมดเพื่อสร้างมุมมอง บวกกับ ฟังก์ชันสมาชิกเพื่อสร้างมุมมองแบบสอบถาม ดำเนินการแบบสอบถาม และแสดงผล ผลลัพธ์.

$executable = $view->getExecutable();
Score:2
ธง om

ขอบคุณ @4x4 ฉันขุดรอบแกนและพบว่า รหัสการทำงานของฉันที่สร้างโหนดผลลัพธ์จากแบบสอบถามคือสิ่งนี้

  $view = \Drupal::entityTypeManager()
    ->getStorage('ดู')
    -> โหลด ($ view_id)
    ->getExecutable();

  // รับ NID จากผลการดู
  $view->initDisplay();
  $view->setDisplay('latest_blog');
  $view->execute();
  $result = $view->result;

จาก NID นั้น เราสามารถหาเส้นทางได้อย่างง่ายดาย ซึ่งเป็นสิ่งที่ฉันต้องการ

No Sssweat avatar
ua flag
หากคุณต้องการผลลัพธ์ เพียงใช้ทางลัดเล็กน้อย

โพสต์คำตอบ

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