tôi đã tìm ra nó từ sub_ process
tài liệu của plugin:
/**
* Các phím cấu hình khả dụng:
*...
* - bao gồm_nguồn: (tùy chọn) Nếu ĐÚNG, tất cả cấu hình plugin nguồn và
* các giá trị sẽ được sao chép vào hàng được xử lý phụ trong một thuộc tính mới có tên
* cho giá trị cấu hình source_key (xem bên dưới). Mặc định là FALSE.
* - source_key: (tùy chọn) Nếu include_source là TRUE, điều này
* là tên thuộc tính của hàng được xử lý phụ sẽ chứa
* cấu hình và giá trị nguồn. Bỏ qua nếu bao gồm_source là
* SAI. Mặc định là 'nguồn' nếu không có giá trị nào được cung cấp.
*/
Và sử dụng nó như:
trường_cover_image:
- plugin: sub_ process
nguồn: field_cover_image
bao gồm_source: đúng
source_key: gốc
tiến trình:
target_id:
plugin: di chuyển_lookup
nguồn: target_id
di chuyển: di chuyển_media_image
nguồn_id:
di chuyển_media_image:
- target_id
- root/langcode # <- lấy thuộc tính từ hàng gốc
Và các hằng số nguyên nhân cũng sẽ có sẵn:
di chuyển_media_image:
- target_id
- gốc/hằng số/default_language
Một giải pháp thay thế có thể tạo thuộc tính lặp làm giá trị mặc định:
plugin: sub_ process
nguồn: field_cover_image
tiến trình:
lang:
plugin: default_value
default_value: 'en'
và gọi nó là thuộc tính đích lặp lại hiện tại @lang
:
lang:
plugin: default_value
default_value: 'en'
target_id:
plugin: di chuyển_lookup
nguồn: target_id
nguồn_id:
di chuyển_media_image:
- target_id
- '@lang'
Các loại nội dung/phương tiện được đặt thành có thể dịch được nhưng thực tế chỉ có một ngôn ngữ và tôi có thể "mã hóa cứng" ngôn ngữ đó, nhưng tốt hơn là sử dụng giá trị động.