Score:0

สร้างฟีดอัตโนมัติเมื่อมีการเพิ่มโหนด

ธง ro

ฉันกำลังมองหาวิธีเพิ่มฟีดโดยอัตโนมัติ (ของประเภทฟีดเฉพาะ) เมื่อใดก็ตามที่มีการเพิ่มโหนด (สำหรับประเภทเนื้อหาเฉพาะ) โดยใช้ฟิลด์โหนดเพื่อสร้างฟีดอัตโนมัติ

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

ฉันคิดว่าฉันควรจะทำได้ในโมดูลที่กำหนดเอง แต่ฉันติดขัดนิดหน่อย

ไม่มีใครรู้ว่าสามารถทำได้ใน Drupal 8 ได้อย่างไร

Score:0
ธง in

ฉันคิดว่าทางออกสำหรับคุณคือ hook_ENTITY_TYPE_update(). ด้านล่างนี้คือตัวอย่างโค้ดแบบง่าย เช่นเคย ใช้การพึ่งพาการฉีดและแนวทางปฏิบัติที่ดีที่สุดอื่นๆ ในรหัสการผลิตของคุณ

/**
 * ใช้ hook_ENTITY_TYPE_update()
 */
ฟังก์ชัน mymodule_node_update (\Drupal\node\Entity\Node $node) {
  ถ้า ($node->bundle() === 'my_content_type') {
    $feed = \Drupal\feeds\Entity\Feed::create([
      // ตั้งชื่อฟีดใหม่ตามโหนด; หรืออะไรก็ได้ที่คุณต้องการ!
      'title' => "ตัวนำเข้า {$node->label()}",

      // กำหนด ID ของประเภทฟีดที่จะใช้สำหรับสร้างฟีดนี้
      'type' => $feed_type_id,

      // ซึ่งจะแตกต่างกันไปตามประเภทของผู้นำเข้า
      'แหล่งที่มา' => 'https://www.example.com/data.csv',

      // หรือตั้งค่า uid เป็น 1 เพื่อให้เป็นของ Drupal superuser เสมอ
      'uid' => \Drupal::currentUser()->id(),
    ]);
    // เริ่มต้นการนำเข้าหลังจากบันทึกฟีดสำเร็จ 
    ถ้า (in_array($feed->save(), [SAVED_NEW, SAVED_UPDATED], TRUE)) {
      $feed->import();
    };
  }
}
drupalhorn avatar
ro flag
ขอบคุณที่ได้ผล ฉันต้องใช้การแทรกเอนทิตีของ hook เนื่องจากฉันต้องการรหัสโหนดเพื่ออ้างอิง
in flag
ดีใจที่มันได้ผลสำหรับคุณ! คุณจะใจดีพอที่จะทำเครื่องหมายว่าเป็นคำตอบที่ยอมรับหรือไม่

โพสต์คำตอบ

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