Рейтинг:-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']));

Но это не открытие модальной формы, а отображение кода json в текстовой области. Конечно, библиотека диалоговых окон может отсутствовать. Итак, я добавил библиотеку:

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

в форме, в предварительной обработке страницы и т. д. Но ничего не работает.

Он показывает код json, подобный этому (пример)

[{"command":"openDialog","selector":"#drupal-modal","settings":null,"data":"Что-то показать","dialogOptions":{"width":"800", "modal":true,"title":"Подтверждение"}}]

Может ли кто-нибудь помочь мне, как открыть диалоговое/модальное окно при посещении URL-адреса?

4uk4 avatar
флаг cn
Вам нужен javascript на стороне клиента для обработки команд ajax. См., например, https://drupal.stackexchange.com/questions/299270/how-do-i-display-a-modal-dialog-on-page-load-with-working-title-and-dialog-opti.
Рейтинг:0
флаг cn

Подход, предложенный @4k4, может быть правильным, я не проверял Как отобразить модальное диалоговое окно при загрузке страницы с рабочим заголовком и параметрами диалогового окна с помощью OpenModalDialogCommand?

Что я сделал: Отображается ссылка, и использование JavaScript при загрузке запускает ссылку, которая в конечном итоге открывает модальное диалоговое окно.

Это не очень хорошее решение для меня.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.