Score:1

ฉันจะดึงข้อมูลเกี่ยวกับ URL ของคำขอปัจจุบันได้อย่างไร

ธง us

ฉันต้องการความช่วยเหลือในการค้นหา URL คำขอปัจจุบันในคอนโทรลเลอร์ และจากนั้นเปลี่ยนชื่อเว็บฟอร์มในคอนโทรลเลอร์

รหัสของฉัน:

'#url' => Url::fromRoute('entity.webform.canonical',['webform' => 'form1'])

ในโค้ดบรรทัดนี้ ฉันจะสลับไปมาได้อย่างไร แบบฟอร์ม1 หรือ แบบฟอร์ม2 ขึ้นอยู่กับว่า URL คำขอมีเส้นทางเฉพาะหรือไม่

Score:3
ธง cn

ฉันต้องการความช่วยเหลือในการรับ URL คำขอปัจจุบันใน ผู้ควบคุม

ในตัวควบคุม รับคำขอด้วยอาร์กิวเมนต์ที่มีคำใบ้ประเภท ขอ $request:

<?php

เนมสเปซ Drupal\mymodule\Controller;

ใช้ Drupal\Core\Controller\ControllerBase;
ใช้ Symfony\Component\HttpFoundation\Request;
ใช้ Drupal\Core\Url;

คลาส ExampleController ขยาย ControllerBase {

  /**
   * ตัวควบคุมเพื่อส่งคืนลิงก์ไปยังเว็บฟอร์ม
   */
  การดำเนินการฟังก์ชั่นสาธารณะ (คำขอ $ คำขอ) {

    // คำนวณ $webform ด้วย $request->getPathInfo()

    กลับ [
      '#type' => 'ลิงค์',
      '#title' => 'ฟู',
      '#url' => Url::fromRoute('entity.webform.canonical', ['webform' => $webform]),
      '#cache' => ['contexts' => ['url.path']],
    ];
  }

}

คุณสามารถรับข้อมูลอื่นๆ จากคำขอได้ แต่คุณต้องปรับบริบทของแคช ดูตัวอย่าง https://drupal.stackexchange.com/a/245597/47547

leymannx avatar
ne flag
ไม่ต้องฉีด?
4uk4 avatar
cn flag
ไม่ นี่เป็นการใช้งานขั้นพื้นฐานที่สุดของคอนโทรลเลอร์ที่ได้รับคำขอและส่งคืนการตอบกลับ
Score:1
ธง cn

ข้อมูล URL สามารถดูได้จาก request_stack บริการ. ในรหัสขั้นตอนการรับ URL มีลักษณะดังนี้:

$url = \Drupal::request()->getRequestUri();

นอกจากนี้ยังมีผู้ช่วยในการรับพารามิเตอร์การค้นหาหากคุณต้องการ เช่น

ถ้า (!empty(\Drupal::request()->query->get('foo'))) {
  
}

ในกรณีของคุณคุณควร ฉีด request_stack บริการลงในคอนโทรลเลอร์ของคุณและรับวัตถุคำขอจากมัน getCurrentRequest() วิธีการ (แทนที่จะได้รับจาก \Drupal::request() โดยตรง).

โพสต์คำตอบ

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