Score:-2

วิธีเปิดฟอร์มในโมดอลจากคอนโทรลเลอร์ขณะเปลี่ยนเส้นทาง

ธง cn

ฉันสามารถเปิดแบบฟอร์มในโมดอลได้เมื่อคลิกที่ลิงค์ (และมีตัวอย่างมากมายในเน็ตด้วย)

สิ่งที่ฉันชอบทำ: เมื่อมีคนไปที่ url ในเบราว์เซอร์หรือเปลี่ยนเส้นทางไปที่ url ระบบจะเปิดกล่องโต้ตอบ/แบบฟอร์มโมดอล

- ฉันได้กำหนดตัวควบคุมสำหรับ URL - ในฟังก์ชั่นคอนโทรลเลอร์ฉันวางโค้ดดังนี้:

  $response = ใหม่ AjaxResponse();
  $title = $this->t('ยืนยัน');
  $form = $this->formBuilder->getForm('Drupal\example\Form\MyModalForm', $entity);
  $response->addCommand(new OpenModalDialogCommand($title, $form, ['width' => '800']));

แต่มันไม่เปิด Modal Form แต่แสดงรหัส json ในพื้นที่ข้อความ ไลบรารีกล่องโต้ตอบอาจหายไปอย่างแน่นอน ดังนั้นฉันจึงเพิ่มห้องสมุด:

    $form['#attached']['library'][] = 'core/drupal.dialog.ajax';

ในรูปแบบ ในการประมวลผลล่วงหน้าของหน้า ฯลฯ แต่ไม่มีการทำงาน

มันแสดงโค้ด json แบบนี้ (ตัวอย่าง)

[{"command":"openDialog","selector":"#drupal-modal","settings":null,"data":"สิ่งที่จะแสดง","dialogOptions":{"width":"800", "โมดอล":จริง,"ชื่อ":"การยืนยัน"}}]

ใครสามารถช่วยฉันเกี่ยวกับวิธีการเปิดกล่องโต้ตอบ / โมดอลเมื่อไปที่ url

4uk4 avatar
cn flag
คุณต้องมีจาวาสคริปต์ฝั่งไคลเอนต์เพื่อประมวลผลคำสั่ง ajax ดูตัวอย่าง https://drupal.stackexchange.com/questions/299270/how-do-i-display-a-modal-dialog-on-page-load-with-working-title-and-dialog-opti
Score:0
ธง cn

วิธีการที่แนะนำโดย @ 4k4 อาจถูกต้อง ฉันไม่ได้ทดสอบ ฉันจะแสดงกล่องโต้ตอบโมดอลในการโหลดหน้าพร้อมชื่องานและตัวเลือกกล่องโต้ตอบโดยใช้ OpenModalDialogCommand ได้อย่างไร

ฉันทำอะไรลงไป: แสดงลิงก์และใช้ JavaScript ในการโหลดทริกเกอร์ลิงก์ ซึ่งจะเปิดกล่องโต้ตอบโมดอลในที่สุด

นี่ไม่ใช่ทางออกที่ดีสำหรับฉัน

โพสต์คำตอบ

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