ฉันมีประเภท Custom Block ที่เรียกว่า HomeBlocks บันเดิลนี้มีฟิลด์ย่อหน้าซึ่งอนุญาตหลายย่อหน้า
จากนั้นฉันวาง (โดยใช้ Layout Builder) อินสแตนซ์ของประเภทบล็อกนี้ในหน้าแรกของฉัน (ประเภทโหนดที่เรียกว่า Landing Page) ในเลย์เอาต์ของประเภทบล็อก ฉันมีมุมมองซึ่งแสดงรายการย่อหน้าที่เพิ่มลงในบล็อกเฉพาะนั้น มุมมองแสดงรายการย่อหน้าของฉัน แต่แสดงรายการย่อหน้าทั้งหมดของประเภทนั้น ถ้าฉันเพิ่มตัวกรองตามบริบทสำหรับ Parent ID ให้กับมุมมองและตั้งค่าเป็น Fix โดยมีค่าเป็น BlockID ของบล็อกที่ฉันวางไว้ในหน้าแรกของฉัน จากนั้นจะกรองเฉพาะส่วนที่เพิ่มในบล็อกนั้น สมบูรณ์แบบ.
คำถามก็คือ; จะตั้งค่าตัวกรองตามบริบทนี้แบบไดนามิกได้อย่างไร
ฉันคิดได้ 2 วิธี:
- สร้างปลั๊กอินตัวกรองตามบริบทซึ่งผ่าน BlockID
- ส่ง BlockID จากเค้าโครงไปยังมุมมอง
ฉันดูตัวเลือกที่ 2 สักครู่และพบว่ามีงานบางอย่างที่ดำเนินการอยู่เพื่อให้ข้อโต้แย้งถูกส่งกลับจาก LB; แต่มันรองรับค่าคงที่เท่านั้น (ตรงข้ามกับโทเค็น)
ตัวเลือกที่ 1 ดูค่อนข้างเรียบง่ายและฉันก็ตั้งค่านั้น ในการเริ่มต้น ฉันแค่ส่งค่ารหัสคงที่กลับไปและใช้งานได้ตามที่คาดไว้
ชิ้นส่วนที่ขาดหายไปนี่คือวิธีรับรายการบล็อก (บางประเภท) ซึ่งวางบนโหนดเฉพาะ
ฉันพยายามทำสิ่งนี้ด้วยมุมมองและฉันสามารถรับรายการ BlockIds ของบล็อกประเภทนี้ทั้งหมด แต่ไม่เห็นวิธีกรองไปยังโหนดเฉพาะที่ใช้
หากจะมีการใช้บล็อกนี้เพียง 1 อินสแตนซ์บนไซต์ จากนั้นฉันสามารถใช้มุมมองที่มีอยู่ (ซึ่งแสดงรายการบล็อกประเภทนี้เท่านั้น) ฉันไม่กังวลเกี่ยวกับการมีบล็อกนี้หลายเวอร์ชันในหน้าเดียว แต่ฉันพยายามที่จะรองรับว่าอาจมีหลายหน้าที่มีการเพิ่มบล็อกนี้