ฉันสามารถเปิดแบบฟอร์มในโมดอลได้เมื่อคลิกที่ลิงค์ (และมีตัวอย่างมากมายในเน็ตด้วย)
สิ่งที่ฉันชอบทำ:
เมื่อมีคนไปที่ 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