Tôi đang cố gắng thiết lập một mô-đun tùy chỉnh để sao chép các giá trị từ một nút có loại nội dung là Một đến một nút có loại nội dung là b. Phần lớn, các kiểu nội dung có các trường giống nhau, nhưng b có một vài lĩnh vực bổ sung.
Một
- Tiêu đề (tiêu đề)
- Cơ thể (cơ thể)
- Ngày (trường_ngày_chương trình nghị sự)
b
- Tiêu đề (tiêu đề)
- Cơ thể (cơ thể)
- Ngày (trường_ngày_chương trình nghị sự)
- Số mục (field_int_how_many)
- Tham chiếu đến Một (trường_noderef_nta)
Với $cloned_node = $node->createDuplicate()
Tôi có thể sao chép tất cả các trường từ Một, cũng như có thể thay đổi loại nội dung thành b.
Từ Một không có các trường bổ sung được đính kèm, tạo Duplicate()
sẽ không sao chép chúng.
Bây giờ, điều tôi muốn làm là thêm các trường khác theo chương trình (mà tôi sẽ điền một số giá trị tùy chỉnh) vào $clone_node
. Khi những hành động này được hoàn thành, $cloned_node->save()
sẽ được sử dụng để hoàn thiện quá trình nhân bản.
Đơn giản chỉ cần thêm giá trị thông qua $cloned_node->set("field_int_how_many", $value)
dường như không thực hiện được mẹo: Đã xảy ra lỗi PHP.
UnlimitedArgumentException: Trường field_int_how_many không xác định. trong Drupal\Core\Entity\ContentEntityBase->getTranslatedField() (dòng 587 của /home/username/domains/domainname.com/public_html/devsite/web/core/lib/Drupal/Core/Entity/ContentEntityBase.php).
Có ai có ý tưởng làm thế nào để thêm các trường bổ sung đó vào nút nhân bản không?