Score:1

ฉันจะสร้างประเภทเอนทิตีโดยทางโปรแกรมจากไฟล์ install yml ได้อย่างไร

ธง au

ฉันกำลังเขียนโมดูล ในการอัปเดต ฉันต้องสร้างประเภทเอนทิตีใหม่โดยทางโปรแกรม

ฉันได้สร้าง yml ที่เหมาะสมสำหรับการติดตั้งแล้ว เช่น อันนี้ยกเว้นว่าไม่ใช่เอนทิตีประเภทโหนด แต่เป็นเอนทิตีประเภทเอนทิตีแบบกำหนดเอง

เพื่อความสอดคล้อง ฉันต้องการใช้ yml โดยตรงใน hook updateN ของฉัน ฉันสามารถใช้ config yml เพื่อสร้างประเภทเอนทิตีใหม่นี้ได้หรือไม่?

Score:3
ธง cn

ไฟล์ที่เชื่อมโยง

core/profiles/standard/config/install/node.type.article.yml

รหัสภาษา: th
สถานะ: จริง
การพึ่งพา: { }
ชื่อ: บทความ
ประเภท: บทความ
คำอธิบาย: 'ใช้<em>บทความ</em>สำหรับเนื้อหาที่ต้องคำนึงถึงเวลา เช่น ข่าว ข่าวประชาสัมพันธ์ หรือบล็อกโพสต์'
ช่วย: ''
new_revision: จริง
โหมดแสดงตัวอย่าง: 1
display_submitted: จริง

เป็นประเภทเนื้อหาและคุณสามารถสร้างได้ในรหัส:

ใช้ Symfony\Component\Yaml\Yaml;
ใช้ Drupal\node\Entity\NodeType;

  $values ​​= Yaml::parseFile('core/profiles/standard/config/install/node.type.article.yml');
  $bundle = NodeType::create($values);
  $bundle->save();

สำหรับเอนทิตีแบบกำหนดเอง คุณจะพบป้ายกำกับและชื่อเครื่องของเอนทิตีการกำหนดค่าบันเดิลในคลาสเอนทิตี (Node.php ในตัวอย่างของคุณ):

* @ContentEntityType(
* id = "โหนด",
* bundle_label = @Translation("ประเภทเนื้อหา"),
* bundle_entity_type = "node_type",

ชื่อเครื่องยังเป็นส่วนแรกของชื่อไฟล์ yml แทนที่ _ กับ .

โพสต์คำตอบ

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