Điểm:0

Cập nhật nút và tất cả các bản dịch theo chương trình

lá cờ gu

Tôi cần thêm các thẻ làm thuật ngữ phân loại cho các nút đã được tạo bằng 7 ngôn ngữ.

Nếu tôi làm điều này:

$node = Nút::load($nid);
$node->set('field_tags', getTerms($terms));
$node->save();

Chỉ nút mặc định bằng tiếng Anh được cập nhật, tuy nhiên, tất cả các điều khoản được tạo bằng tất cả các ngôn ngữ.

getTerms() - là chức năng của riêng tôi, nhận id thuật ngữ và tạo chúng nếu chúng không tồn tại.

Tôi cần cập nhật tất cả các bản dịch nút. Nhưng bằng cách nào?

Đã thử điều này:

foreach (getLanguages() dưới dạng $key => $value) {
  $node_translation = $node->addTranslation($key, $node->toArray());
  $node_translation->set('field_tags', getTerms($terms));
  $node_translation->save();
}

Cung cấp cho tôi lỗi này: [lỗi] Ngôn ngữ dịch không hợp lệ (ru) được chỉ định. Nhưng tiếng 'ru' đang hoạt động.

getLanguages() - trả về mảng của tất cả các ngôn ngữ. Chức năng tương tự được sử dụng để tạo các nút và thuật ngữ và nó hoạt động tốt ở đó.

Làm thế nào để cập nhật một nút và tất cả các bản dịch của nó?

4uk4 avatar
lá cờ cn
Bạn có thể thêm vị trí xuất hiện lỗi và theo dõi ngăn xếp xuống điểm kết nối với mã của bạn không? Bạn muốn cập nhật bản dịch khi mã của bạn đang thêm bản dịch. Bạn đã định cấu hình trường tham chiếu và từ vựng như thế nào? Cả hai đều có thể dịch được?
Điểm:0
lá cờ gu

Cuối cùng đã tìm ra giải pháp phù hợp để cập nhật bản dịch nút theo chương trình:

if ($node->hasTranslation($key)) {
  $translation = $node->getTranslation($key);
  $translation->set('field_tags', $terms);
  $translation->save();
}

$key - thẻ ngôn ngữ, ví dụ 'en', 'es', 'ru', v.v.

Đă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.