Score:0

อัปเดตโหนดและการแปลทั้งหมดโดยทางโปรแกรม

ธง gu

ฉันต้องการเพิ่มแท็กเป็นเงื่อนไขอนุกรมวิธานให้กับโหนดที่สร้างไว้แล้วใน 7 ภาษา

ถ้าฉันทำสิ่งนี้:

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

มีเพียงโหนดเริ่มต้นในภาษาอังกฤษเท่านั้นที่ได้รับการปรับปรุง อย่างไรก็ตาม เงื่อนไขทั้งหมดถูกสร้างขึ้นในทุกภาษา

getTerms() - เป็นฟังก์ชั่นของฉันเองซึ่งกำลังรับรหัสคำและสร้างพวกมันหากไม่มีอยู่

ฉันจำเป็นต้องอัปเดตการแปลโหนดทั้งหมด แต่อย่างไร?

พยายามนี้:

foreach (getLanguages() เป็น $key => $value) {
  $node_translation = $node->addTranslation($key, $node->toArray());
  $node_translation->set('field_tags', getTerms($terms));
  $node_translation->save();
}

ให้ข้อผิดพลาดนี้แก่ฉัน: [ข้อผิดพลาด] ระบุภาษาการแปล (ru) ไม่ถูกต้อง แต่ภาษา 'ru' ใช้งานได้

getLanguages() - ส่งคืนอาร์เรย์ของทุกภาษา ฟังก์ชันเดียวกันนี้ใช้เพื่อสร้างโหนดและข้อกำหนดและทำงานได้ดีที่นั่น

ทำอย่างไร อัปเดต โหนดและการแปลทั้งหมดหรือไม่

4uk4 avatar
cn flag
คุณสามารถเพิ่มตำแหน่งที่เกิดข้อผิดพลาดและสแต็กติดตามไปยังจุดที่เชื่อมต่อกับรหัสของคุณได้หรือไม่ คุณต้องการอัปเดตการแปลเมื่อรหัสของคุณเพิ่มการแปล คุณกำหนดค่าฟิลด์อ้างอิงและคำศัพท์อย่างไร ทั้งสองแปลได้หรือไม่
Score:0
ธง gu

ในที่สุดก็พบโซลูชันที่เหมาะสมในการอัปเดตการแปลโหนดโดยทางโปรแกรม:

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

$key - แท็กภาษา เช่น 'en', 'es', 'ru' เป็นต้น

โพสต์คำตอบ

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