Score:0

ใช้ hook_entity_presave เพื่อแปลงหลายบรรทัดในฟิลด์เพื่อแยกค่าในฟิลด์หลายค่าหรือไม่

ธง cn

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

ตัวสร้างฟังก์ชัน2020_entity_presave(EntityInterface $entity){
  สวิตช์ ($entity->bundle()) {
    กรณี 'ec_topics':
      $count = count($entity->field_ec_subtopics);//ตรวจสอบว่าผู้ใช้ใช้เพียงหนึ่งฟิลด์หรือไม่
      ถ้า ($count == 1){/ //user ใส่ทุกอย่างในช่องเดียว
        $values ​​= array(ระเบิด('\n',$entity->field_ec_subtopics->value)); สร้างอาร์เรย์จากค่าฟิลด์
          $entity->field_subtopics->value = $values; // ป้อนอาร์เรย์ไปยังฟิลด์
      }
      $entity->field_sub_topic_count->value = $นับ; // กำหนดจำนวนของ ec_topics
      หยุดพัก;

ฉัน 'คิดว่า' ฉันใกล้จะถึงแล้ว แต่ดูเหมือนฉันจะไม่รู้ว่าตัวเองล้มลงตรงไหน

cn flag
ดู https://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.single
gmak avatar
cn flag
@Clive ฉันเห็นสิ่งที่คุณแนะนำ ไม่พบ '\n' ในคำสั่ง expand() และฉันควรใช้ "\n" อย่างไรก็ตาม เมื่อฉันทำเช่นนั้น ฉันยังไม่ได้ผลลัพธ์ตามที่คาดหวัง ดูเหมือนว่าการระเบิด () ไม่ทำงานไม่ว่าในกรณีใด ๆ
gmak avatar
cn flag
ฉันรู้ว่าฉันได้รับ 'เครื่องหมายทับ' ผิดในความคิดเห็นด้านบน ถูกต้องในรหัสของฉัน
Score:0
ธง cn
กรณี 'ec_topics':
      $count = นับ ($entity->field_ec_subtopics);
      ถ้า ($count == 1){
        $values ​​= $entity->field_ec_subtopics->getValue();
        $content = $values[0]['value'];
        $items = ระเบิด (PHP_EOL, $เนื้อหา);
        $count = นับ ($ รายการ);
        $entity->field_ec_subtopics = $รายการ;
      }
      $entity->field_sub_topic_count->value = $นับ;
      หยุดพัก;

โพสต์คำตอบ

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