Score:1

ปัญหาการกำหนดเส้นทางโมดูลแบบกำหนดเอง

ธง cn

ฉันมีโมดูลที่กำหนดเองซึ่งฉันได้สร้างเส้นทางต่อไปนี้:

my.custom.route:     
   เส้นทาง: /{someVariable}/my-module/test
      ค่าเริ่มต้น:
        _controller: '\Drupal\my_module\Controller\myController::build'
      ความต้องการ:
        _permission: 'เข้าถึงเนื้อหา'

บนคอนโทรลเลอร์ฉันมีรหัสต่อไปนี้

สร้างฟังก์ชั่นสาธารณะ ($ someVariable)
  {
    ก้อง 'ที่นี่';
    การถ่ายโอนข้อมูล ($ someVariable);
    ทางออก;

เมื่อฉันไปที่ /devel/route เส้นทางจะมีชื่อ ฉันดูรายละเอียดทั้งหมดของเส้นทาง

เมื่อฉันเรียกใช้ฟังก์ชันเส้นทาง มันจะสร้างเส้นทางตามที่คาดไว้ แต่เมื่อฉันไปที่หน้านั้น ให้ส่งการตอบสนอง 404 แทนที่จะให้ผลลัพธ์ที่คาดไว้

ถ้าฉันเปลี่ยนเส้นทางเพื่อให้ตัวแปรอยู่ในตำแหน่งอื่นนอกเหนือจากส่วนแรกของ url มันจะทำงานตามที่คาดไว้

ฉันกำลังทำงานกับ Drupal 9.3.2

ขอบคุณ

Kevin avatar
in flag
ฉันไม่คิดว่าเส้นทางสามารถเริ่มต้นด้วยพารามิเตอร์
cn flag
@Kevin ใน Symfony คุณทำได้ ไม่แน่ใจใน Drupal แต่น่าจะเป็นไปได้
4uk4 avatar
cn flag
@Paulo การจับคู่เส้นทางของ Drupal ไม่อนุญาตให้ทำเช่นนี้ สำหรับวิธีแก้ปัญหา โปรดดู https://drupal.stackexchange.com/questions/246950/do-new-routes-require-a-static-first-portion
Jaypan avatar
de flag
ใช่ เส้นทางไม่สามารถเริ่มต้นด้วยตัวแปรแบบไดนามิก ส่วนไดนามิกของเส้นทางต้องมาจากองค์ประกอบที่สองเป็นต้นไป ลิงก์ของ 4k4 อธิบายวิธีจัดการกับปัญหา
cn flag
ขอบคุณ 4k4 และ Jaypan ที่ช่วยในการหาทางออก เพียงหนึ่งบันทึก ในการกำหนดเส้นทางเราจำเป็นต้องมีตัวแปรในตำแหน่งที่สองและในการร้องขอขาเข้าและขาออกให้เปลี่ยนลำดับ นั่นไม่ชัดเจน

โพสต์คำตอบ

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