Điểm:1

Làm cách nào tôi có thể di chuyển các giá trị từ trường tham chiếu thuật ngữ phân loại D7 đa giá trị sang trường D9?

lá cờ in

Tôi có một di chuyển nút bằng cách sử dụng d7_node plugin nguồn.

Tôi đang cố di chuyển các giá trị của trường tham chiếu thuật ngữ phân loại đa giá trị sang trường tham chiếu thuật ngữ phân loại đa giá trị trong D9. Có một sự di chuyển riêng biệt để nhập các thuật ngữ phân loại hoạt động tốt.

Trong di chuyển nút của tôi, tôi có một cái gì đó như:

trường_my_tax_field:
  plugin: di chuyển_lookup
  di chuyển: my_taxonomy_migration_id
  nguồn: field_my_d7_tax_field

Tuy nhiên, điều này đưa ra một ngoại lệ và quá trình di chuyển không thành công. Khi tôi ném một điểm ngắt vào Drupal\migrate\Plugin\migrate\ process\MigrationLookup::transform() (nơi ném ngoại lệ), tôi có thể thấy rằng giá trị được truyền là một mảng, nhưng plugin tra cứu muốn có một giá trị vô hướng. Mảng được thông qua giống như:

['id_mục_tiêu' => 123]

Với thông tin này, tôi có thể thực hiện công việc này bằng cách cập nhật cấu hình di chuyển của mình với nội dung như:

trường_my_tax_field:
  - plugin: gọi lại
    có thể gọi: đặt lại
    nguồn: field_my_d7_tax_field
  - plugin: di chuyển_lookup
    di chuyển: my_taxonomy_migration_id
    

sử dụng cài lại() như thế này cảm thấy lỏng lẻo. Và có vẻ lạ khi bước bổ sung này là cần thiết, đây có vẻ như là trường hợp sử dụng số 1 cho hàm migration_lookup.

Tôi đang thiếu gì? Làm thế nào tôi có thể làm điều này một cách tốt hơn?

Điểm:1
lá cờ in

Một lựa chọn là sử dụng Drupal\di chuyển\Plugin\di chuyển\tiến trình\SubProcess (sub_ process) plugin:

Chạy một mảng các mảng thông qua quy trình xử lý riêng của nó.

Plugin sub_ process chấp nhận một mảng gồm các mảng kết hợp và chạy từng mảng thông qua đường dẫn quy trình riêng của nó, tạo ra một mảng kết hợp có khóa mới gồm các giá trị được chuyển đổi.

trường_my_tax_field:
  plugin: sub_ process
  nguồn: field_my_d7_tax_field
  tiến trình:
    target_id: 
      plugin: di chuyển_lookup
      di chuyển: my_taxonomy_migration_id
      nguồn: target_id

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.