当用户点击前端的链接时,我想在弹出窗口中显示我的自定义表单,我尝试了许多在网络上显示的解决方案,但对我不起作用。
这是我的代码。
$response = new AjaxResponse();
// Get the modal form using the form builder.
$modal_form = $this->formBuilder->getForm('Drupal\fwsactions\Forms\FwsActionsForm');
$modal_form['#attached']['library'][] = 'core/drupal.dialog.ajax';
// Add an AJAX command to open a modal dialog with the form as the content.
$modal_form = render($modal_form);
$response->addCommand(new OpenModalDialogCommand('My Modal Form', $modal_form, ['width' => '800']));
return $response;
如何通过仅点击链接打开此表单。
答案 0 :(得分:5)
$content['overlay_link'] = array(
'#type' => 'link',
'#title' => $this->t('Add movie'),
'#url' => Url::fromRoute('node.add', ['node_type' => 'content_type_movie']),
'#attributes' => [
'class' => ['use-ajax'],
'data-dialog-type' => 'modal',
'data-dialog-options' => Json::encode([
'width' => 700,
]),
],
);
请查看here了解详情。 这里还有一个link可能有所帮助,虽然两者相同但仍在分享。
希望这有帮助。