Уже не первый человек спрашивает, как выводить формы из виджета конструктора форм в модальном окне. Написал небольшие настройки в родной виджет, которые позволят это сделать.
При установке виджета, появляется такая опция:
Соответственно здесь два режима показа формы — стандартно или по клику в модальном окне:
Выбираем в модальном окне и заполняем простые настройки:
Наблюдаем на сайте:
При клике на кнопку вызывается форма в модальном окне.
Данная доработка заменяет системные файлы виджета «Форма». Установка — на свой страх и риск. Так, этот вариант полностью рабочий, но при обновлении системы может перестать работать. Скачайте прикрепленный файл к этому посту, и содержимое архива загрузите на ваш сервер с заменой файлов.
Реклама #
Happy 3 года назад #
То есть можно добавлять любые поля
Make 3 года назад #
Ну да. В компоненте конструктор форм, который идет в версиях 2.14 и выше
Happy 3 года назад #
А куда приходит на мыло или уведомлением на сайте ?
Make 3 года назад #
Как настроить в компоненте. Вы им никогда не пользовались?
Алексей Т 3 года назад #
Вот тебе и мини магазин))) Спасибо. Отлично было бы сделать еще вывод виджета шорткодом. Хотя есть такой компонент уже.
Олег Васильевич я 3 года назад #
Т.е. человеков было даже больше одного? Сумасшедший интерес!
Олег Васильевич я 3 года назад #
Т.е. спрашивающих человеков было точно больше, чем ноль, и даже больше, чем один? Фантастический интерес!
Make 3 года назад #
Опять сарказм) И почему я не удивлен 😁 Олег Васильевич, ну вот вот не можете вы мимо моих постов пройти и не ответить что-то ехидное)
Олег Васильевич я 3 года назад #
Мимо ваших постов пройти как-то могу. А вот мимо откровенного, да ещё и бессмысленного, вранья не умею. Уж простите!
Олег Васильевич я 3 года назад #
Мимо ваших постов пройти как-то могу. А вот мимо откровенного, да ещё и бессмысленного, вранья не умею. Уж простите!
Make 3 года назад #
Ну что ж, куда скинуть скриншоты вопросов? По количеству — это больше трёх и меньше пяти. И это определенно подходит под формулировку «уже не первый человек». Ну или могу этих людей сюда в комментарии позвать. Не понимаю я вас, Олег Васильевич. Может уже выясним, что произошло в течение этого года, что вы так " Переобулись"? Хотя ещё вроде совсем недавно нормально общались. Брюзжите, как старик, которому лишь бы пальцем куда ткнуть — ведь все вокруг Портосы, один вы Дартаньян...
Олег Васильевич я 3 года назад #
Ваши доказательства количества просьб убедительны. Я был не прав, прошу простить!
Zau4man 3 года назад #
А теперь также, только без правок системных файлов.
Перед выводом формы есть хук github.com/instantsoft/icms2/blob/6348d4b3accd8b9e0a94aaa1a10c37b4b829112a/system/controllers/admin/actions/widgets_edit.php#L39
В случае с forms будет widget_forms_form_form
В хуке с помощью $form->getStructure() получаем массив структуры формы. Перебираем наборы, добавляем/меняем поля, наборы, и с помощью $form->setStructure просим форму использовать нашу новую структуру. Можно по аналогии с этим instantcms.ru/blogs/peredvigaem-svoistva-nizhe-polei-v-forme-dobavlenijaredaktirovanija-zapisi-tipa-kontenta.html
А дальше либо подкинуть этот хук в чужой компонент (зловещее ха-ха-ха) либо оформить отдельным пустым компонентом с этим хуком. И если совсем правильно, то пропишем этот компонент в базу, чтобы можно было всегда отключить и хук перестал работать.
Make 3 года назад #
Можно и так, так конечно лучше будет. Перепишу
Zau4man 3 года назад #
Вам понравится. В хуках есть своя «магия». И не страшно обновляться. Совсем-совсем.
Пример добавления поля в уже имеющуюся форму есть тут instantcms.ru/blogs/gruppiruem-nabory.html
Make 3 года назад #
👍
Алексей Т 3 года назад #
Довольно часто мне для своих проектов надо эта функция. Что бы при клике на кнопку выводилась форма. У меня есть стороннее решение, но хотелось бы системное решение.