Модуль для формирования форм и запросов к FormLister/Sender.
Для упрощения жизни как разработчикам, так и людям, которые будут в дальнейшем поддерживать сайты. Был разработан модуль, понижающий порог входа в работу с формами в Evolution CMS. Теперь вам нет необходимости вручную создавать формы за вас это сделает этот конструктор. При помощи заранее заготовленных полей вы можете простым перетаскиванием создать свою форм. Получаемый результат в случае использования FormSender необходимо будет только разместить HTML в шаблоне. Создание файла для FormSender в 1 клик. Используйте горячие клавиши для быстрого добавления полей. Создавайте свои шаблоны для почты используя соответствующий раздел.
- Формировать структуру формы можно:
- Перетаскиванием нужных полей в область конструирования
- Нажатием кнопок "Добавить поле"
При добавлении поля появляется окно редактирования с параметрами:
- Часть параметров автоматически применяется в формировании правил для FormLister
- Для каждого типа поля есть свои специфические параметры
- Можно изменять тип поля после создания через выпадающий список "Тип поля"
- Минимальный набор полей формируется автоматически, если параметры не указаны
- Перетаскивание для изменения порядка полей
- Редактирование и удаление созданных ячеек
- Автоматическое формирование промежуточных результатов при изменениях
- Указание ID формы для FormLister
- Изменение типа отправки (POST/GET)
- Назначение action
- Указание email для параметра "to" в FormLister
- Дополнительные опции:
- Работа с файлами
- Формирование запроса для FormSender (создает запрос в новом формате включен при старте)
Модуль предоставляет 3 основных вида результатов:
- HTML разметка для Blade шаблона
- PHP фрагмент для FormLister/Sender (включая параметры для setData)
- Визуализация формы с минимальной валидацией
Дополнительно:
- Генерация PHP файла для FormSender (при использовании опции "без перезагрузки")
- Редактор шаблонов email
При использовании опции "без перезагрузки" создайте отдельный PHP файл для FormSender
(проверьте его создание по следующему путь: /core/custom/forms/ID_формы.php)
Модуль практически полностью работает на JS и состоит из 10 основных файлов:
- Main.js - инициализация, глобальные функции, управление tooltip, обработка кастомного select
- render-form.js - формирование результатов:
htmlOutput- HTML разметкаparamsOutput- PHP кодpreviewOutput- демонстрация формы- обработка статусов и валидации
- FormSettings.js - модальное окно настроек поля
- drag-drop.js - логика перетаскивания полей
- control-field.js - работа с полями (добавление, удаление, создание, tooltip)
- file-generation – отвечает за отправку в контроллер запроса на создание файла для FormSender.
- form-utils – общие для сохранения и загрузки функции и показ уведомлений теперь находится тут.
- load-form – логика для загрузки формы в рабочую область.
- save-form – отправка запроса на сохранение формы в контроллер.
- email-template - редактор reportTpl для составления шаблона письма.
- Модуль не имеет обязательных полей. Вы формируете их сами про помощи Drag and Drop.
- При работе с файлами необходимо явно указывать наличие файловых полей в форме.
- Это инструмент для разработчиков, который можно дорабатывать под свои нужды.
- Модуль не работает из коробки он создан для FormLister/FormSender и требует их установки для корректной работы.
Это не полноценный модуль, а инструмент для разработчика, который может помочь:
- В обучении работе с FormLister/Sender
- В уменьшении рутинной работы при создании форм
Выполните команды из директории /core:
- Установка пакета
php artisan package:installrequire kolya1222/formbuildevo "*"
- Публикация стилей и скриптов
php artisan vendor:publish --provider="Kolya1222\Formbuild\FormbuildServiceProvider"
- Выполните миграции
php artisan migrate