Drupal 9 модальная веб форма

Главные вкладки

Аватар пользователя kari kari 25 июня 2021 в 9:17

Всем привет! Необходимо сделать форму в модальном окне. Используется webform. Подключен ajax, при отправлении появляется сообщение Спасибо в этом же модальном окне. Форма открывается при клике на кнопку, в которой прописано class="use-ajax" data-dialog-type="modal" href="/form/contact"
В админке всё ок: вызывается модалка, отправляется форма, появляется сообщение в модальном окне. Но для анонимуса всё не так. Нажимаем кнопку, которая по идее должна открывать модальное окно, и нас перебрасывает на страницу веб формы. Там мы заполняем форму, нажимаем отправить и появляется модальное окно с сообщением Спасибо. Что не так?

Комментарии

Аватар пользователя kari kari 25 июня 2021 в 9:27

да, это уже прочитано, спасибо. Но после того, как прописываешь указанные там строки, ломается сайт

Аватар пользователя kari kari 25 июня 2021 в 9:34

в THEMENAME.libraries.yml прописываю
dependencies:
- core/jquery.ui.dialog
- core/drupal.dialog.ajax
И всё становится плохо: сайт вроде как работает, но на некоторых страницах всё пропадает

Аватар пользователя ivnish ivnish 25 июня 2021 в 9:38

THEMENAME поменяли на свою тему?

kari wrote: но на некоторых страницах всё пропадает

Что пропадает? Давайте уже больше информации, тут телепатов нет

Аватар пользователя kari kari 25 июня 2021 в 9:42

сейчас пробую снова прописать эти троки. После этого на главной странице вижу:
На сайте произошла непредвиденная ошибка. Пожалуйста, повторите попытку позже.
ни админки, ничего больше

Аватар пользователя kari kari 25 июня 2021 в 9:38

еще добавлю, что вероятнее всего всё ломается, потому что должно быть что-то найдено по путям
core/jquery.ui.dialog
core/drupal.dialog.ajax
но тут кроме подключения модуля Jquery ui больше ничего в голову не приходит. Девятка очень тяжело заходит. Учитывая, что я стажер, который начал с семерки, и даже в семерку еще не до конца успел вникнуть. Поэтому извините, я могу не увидеть элементарного

Аватар пользователя gun_dose gun_dose 25 июня 2021 в 10:07

Для анонимов ajax как правило не подключен. У вас скорее всего проблема в том, что вы при вставке строк в yml поломали синтаксис. Он очень чувствителен к отступам.

Аватар пользователя ivnish ivnish 27 июня 2021 в 9:08

Пора перестать экспериментировать и начать смотреть логи. Ну и приложить ваш файл нам для ознакомления

Аватар пользователя kari kari 27 июня 2021 в 22:10

Drupal\Core\Asset\Exception\IncompleteLibraryDefinitionException: Incomplete library definition for definition 'dependencies' in extension 'rb_mts' in Drupal\Core\Asset\LibraryDiscoveryParser->buildByExtension() (line 116 of /var/www/rbbl/data/www/mtc.rbbl.ru/core/lib/Drupal/Core/Asset/LibraryDiscoveryParser.php).

Аватар пользователя ivnish ivnish 28 июня 2021 в 6:17

Ну дак у вас строка лишняя перед dependencies. Это же ключевое слово, а у вас как будто это определение библиотеки

Аватар пользователя kari kari 28 июня 2021 в 10:39

Спасибо! Теперь модальное окно появляется и в админке, и при анонимном просмотре. Только теперь другая проблема) И там и там. Не срабатывает кнопка Отправить после заполнения формы. Нажимаем - секунду крутится колесико типа загрузки, и ничего не происходит, мы продолжаем смотреть на заполненную форму в модальном окне.

Аватар пользователя ivnish ivnish 1 июля 2021 в 9:16

Нужно на локальной копии сайта отключить сжатие JS. Ну и проверить все скрипты, похоже, что есть конфликт js-кода ядра (и модуля webform) и вашего js-кода