Score:0

ฉันจะเพิ่มชื่อไปยังเอนทิตีที่นำเข้าโดยอัตโนมัติได้อย่างไร

ธง cn

ฉันมีไซต์ที่มีไฟล์เสียงจำนวนมาก (ใช้ไฟล์ core's เสียงสื่อ ประเภทสื่อ).

บน จัดการการแสดงแบบฟอร์ม แอดมินเพจ (/admin/structure/media/manage/audio/form-fields) ฉันได้ตั้งค่า ชื่อ ฟิลด์ถึง พิการ.

ด้วยวิธีนี้ เมื่อฉันเพิ่มเอนทิตีสื่อเสียงใน UI (ที่ /สื่อ/เพิ่ม/เสียง) จากนั้นฉันไม่ต้องเพิ่มชื่อเรื่อง และชื่อเอนทิตีจะถูกตั้งเป็นชื่อไฟล์โดยอัตโนมัติ

ตอนนี้ฉันต้องการสร้างเอนทิตีสื่อเสียงโดยอัตโนมัติด้วย โมดูลฟีด. ฉันกำหนดค่าประเภทฟีด + ฟีดสำหรับเอนทิตีสื่อเสียงของฉัน ฉันกำลังนำเข้าไฟล์ CSV จากไดเรกทอรี

ฉันใช้การแมปต่อไปนี้:

  • ID ไฟล์ + คำอธิบายไฟล์สำหรับฟิลด์สื่อ field_media_audio_file
  • รหัสสำหรับฟิลด์ข้อความ field_import_id (ซึ่งผมตั้ง มีเอกลักษณ์ ตัวเลือกเพื่อติดตามการนำเข้า)

อย่างไรก็ตาม เมื่อฉันพยายามนำเข้าฟีด ฉันได้รับข้อผิดพลาดนี้:

ชื่อ (ชื่อ): ค่านี้ไม่ควรเป็นค่าว่าง

ฉันจะปิดใช้งานการตรวจสอบความถูกต้องนี้ (ตรวจสอบฟิลด์ชื่อ) โดยโมดูลฟีดสำหรับเอนทิตีสื่อเสียงได้อย่างไร

เพื่อแก้ปัญหาชั่วคราว ฉันสามารถสร้างคอลัมน์ในไฟล์ CSV และแสดงชื่อไฟล์ทั้งหมดได้ แต่ผลลัพธ์ที่ได้คือข้อมูลที่ซ้ำกันและมีความเสี่ยงที่จะพิมพ์ผิด

Score:1
ธง in

ทำไมไม่ใช้ ฟีดการงัดแงะ เพื่อกำหนดชื่อเริ่มต้น?

Score:0
ธง cn

มีวิธีที่สวยงามกว่านี้อย่างแน่นอน แต่ตอนนี้ฉันตัดสินใจที่จะแก้ไขตัวตรวจสอบความถูกต้อง /feeds/src/Feeds/Processor/EntityProcessorBase.php:

ถ้า ($label || $label === '0' || $label === 0) {
  $messages[] = $this->t('@entity %label ล้มเหลวในการตรวจสอบโดยมีข้อผิดพลาดต่อไปนี้: @errors', $args);
  ถ้า (mb_strtolower($this->entityTypeLabel()) === 'สื่อ') {
    // สื่อจะตั้งชื่อเรื่องเป็นชื่อไฟล์โดยอัตโนมัติ ดังนั้นอนุญาตสิ่งนี้
    กลับ;
  }
}
sonfd avatar
in flag
`mb_strtolower($this->entityTypeLabel()) === 'media'` - มันแปลกสำหรับฉัน แน่นอนคุณสามารถรับชื่อเครื่องของประเภทเอนทิตีได้ เช่น `$this->entityTypeId()`
cn flag
@sonfd ใช่ มันดูแปลกสำหรับฉันเหมือนกัน แต่นั่นเป็นวิธีที่โมดูล Feeds ทำในโค้ดด้านบนทันที ดังนั้นฉันจึงตัดสินใจใช้โค้ดเดียวกันกับโมดูล
Score:0
ธง cn

ฟีดมี ประหยัด และ ตรวจสอบความถูกต้อง เหตุการณ์ อีกวิธีหนึ่งในการเข้าถึงสิ่งนี้คือการเพิ่ม ผู้สมัครสมาชิกเหตุการณ์ (โค้ดตัวอย่างจากผู้ดูแล).

ในกรณีนี้ การตรวจสอบสามารถแทนที่ด้วย PROCESS_ENTITY_PREVALIDATE.

โพสต์คำตอบ

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