สำหรับเอนทิตีที่กำหนดเอง ฉันได้สร้างบล็อกไดนามิกหลายบล็อก แต่บล็อกจะไม่ปรากฏ พวกเขาจะอยู่ใน admin/structure/block ด้านล่างเป็นตัวอย่างของบล็อก 1
myentity.routing.yml:
myentity.blocks:
เส้นทาง: '/collection/{myentity}'
ค่าเริ่มต้น:
_title: 'ของสะสม'
ความต้องการ:
_permission: 'เข้าถึงเนื้อหา'
ความลึกลับ: \d+
ตัวเลือก:
พารามิเตอร์:
ความลึกลับ:
ประเภท: เอนทิตี: myentity
กำ:
- ก
ส่วนของ src/Plugin/Block:
เนมสเปซ DrupalCorePluginBlock;
ใช้ DrupalCoreBlockBase
/**
* ให้บล็อก 'คอลเลกชัน'
*
* @ปิดกั้น(
* id = "collection_block 1",
* admin_label = @Translation("ของสะสม: สิ่งของ"),
* หมวดหมู่ = @Translation("คอลเลกชันของฉัน"),
* บริบท_definitions = {
* "myentity" = @ContextDefinition("entity:myentity", label = @Translation("Myentity ID"))
* }
* )
*/
class MyentityBlock1 ขยาย BlockBase {
/**
* {@inheritdoc}
*/
สร้างฟังก์ชั่นสาธารณะ () {
$myentity = $this->getContextValue('myentity');
กลับ [...];
}
ถ้าฉันแทนที่ myentity ด้วย node มันก็ใช้ได้ แต่สำหรับเอนทิตีแบบกำหนดเอง ฉันอาจต้องกำหนดอะไรเพิ่มเติม แต่อะไร?