Score:1

ลิงก์ภาษาไดนามิกจากเมนู?

ธง in

ฉันกำลังพยายามค้นหาวิธีการทำสิ่งต่อไปนี้:

  • เพิ่มภาษาในรายการเมนู Drupal 9
  • แปลลิงก์เนื้อหา/เมนู
  • ระบุ (จากการนำทางหลัก) รายการภาษา หน้าปัจจุบันถูกแปลเป็นภาษา

ฉันสามารถทำสองข้อแรกให้เสร็จได้ แต่ฉันไม่เห็นวิธีรับเมนูเพื่อแสดงรายการลิงก์ที่แสดงตัวเลือกภาษาที่พร้อมใช้งานสำหรับเอนทิตีปัจจุบัน ฉันเห็นว่ามีบล็อก Language Switcher จากคอร์ แต่มีวิธีทำให้สิ่งนี้ปรากฏในเมนู Drupal หรือไม่

ป้อนคำอธิบายรูปภาพที่นี่

cn flag
ฉันไม่คิดว่าสิ่งนี้ได้รับการแก้ไขอย่างสมบูรณ์ในแกนหลัก แต่มีโมดูลที่จะช่วยเช่น https://www.drupal.org/project/menu_block_current_language, https://www.drupal.org/project/menu_manipulator, https: //www.drupal.org/project/menu_multilingual
Kevin avatar
in flag
อืม... มันต้องมีวิธีเลียนแบบแน่ๆ ฉันจะดูรอบๆ
4uk4 avatar
cn flag
สำหรับโซลูชันโค้ด คุณจำเป็นต้องมีปลั๊กอินลิงก์เมนูแบบไดนามิกที่ชี้ไปที่โหนดปัจจุบันที่ได้รับมาสำหรับแต่ละภาษา เช่นเดียวกับตัวอย่างนี้สำหรับงานในเครื่อง https://drupal.stackexchange.com/questions/292739/how-to-get-links-of-translated-node-edit-page-in-the-secondary-tabs
Kevin avatar
in flag
ฉันเข้าใจแล้ว - นั่นจะใช้งานได้แม้ว่าจะไม่ใช่งานในพื้นที่ก็ตาม คุณจะทำให้มันต่อท้าย "การนำทางหลัก" ได้อย่างไร
Score:0
ธง cn

คุณใส่ข้อมูลสแตติกใน *.links.menu.yml โดยที่คุณกำหนดปลั๊กอินลิงก์เมนูไดนามิกด้วย ซึ่งจะให้ข้อมูลที่คุณไม่สามารถใส่ในสแตติก yml ได้ และ Diver เพื่อสร้างปลั๊กอินสำหรับแต่ละภาษา ตัวอย่างงานในเครื่องเป็นเพียงตัวอย่างสำหรับงานแปลเท่านั้น

ตัวอย่างการทำงานแบบคงที่:

mymodule.links.menu.yml

mymodule.language.top:
  ชื่อเรื่อง: 'EN'
  menu_name: หลัก
  route_name: '<ไม่มี>'
  ขยาย: จริง
  # คลาสปลั๊กอินเพื่อแทนที่ชื่อแบบไดนามิก:
  # คลาส: Drupal\mymodule\Plugin\Menu\TranslatedNodeTop
mymodule.language.item:
  ชื่อเรื่อง: 'โหนด 8 ภาษาสเปน'
  พาเรนต์: mymodule.language.top
  route_name: entity.node.canonical
  route_parameters: { โหนด: '8' }
  menu_name: หลัก
  ตัวเลือก:
    คุณลักษณะ:
      ระดับ:
        - ฟู-คลาส
        - บาร์คลาส
  # deriver สำหรับภาษาที่ติดตั้ง
  ที่มา: Drupal\mymodule\Plugin\Derivative\TranslatedNodeTabDeriver
  # คลาสปลั๊กอินขยาย MenuLinkDefault แทนที่คุณสมบัติคงที่แบบไดนามิก
  # พารามิเตอร์เส้นทางจากการจับคู่เส้นทางปัจจุบัน ภาษาจากผู้สืบทอด
  # ชื่อเรื่องจากทั้งแอตทริบิวต์และลิงก์ที่เพิ่มสำหรับภาษาปัจจุบัน:
  # คลาส: Drupal\mymodule\Plugin\Menu\TranslatedNodeItem

คุณต้องเพิ่มปลั๊กอินไดนามิกสองตัวที่ขยาย MenuLinkDefault ฉันได้รีไซเคิล TranslatedNodeTabDeriver จาก วิธีรับลิงก์ของหน้าแก้ไขโหนดที่แปลแล้วในแท็บรอง.

โพสต์คำตอบ

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