UniForm 1.4.2 : универсальные ajax-формы

UniForm 1.4.2 : универсальные ajax-формы

Модуль позволит изменить стандартную форму обратной связи с возможностью использования своих полей. Ему не требуется дополнительное соединение с БД и он не хранит данные из форм. Все настройки модуля, оформление email-сообщения и самой формы вынесены в файлы шаблона. Это значит, что вы можете кастомизировать внешний вид не только формы, но и email-сообщения так, как этого требует дизайн. AJAX вызов и отправка форм даёт максимальную защиту от автоматических заполнений и не обременяет пользователя разгадкой каптчи.


Установка:
1. Распаковать содержимое архива в корень сайта.

2. В браузере запустить установку модуля по адресу: ваш_сайт/dle_module_install.php?module=uniform и следовать инструкциям.

Готово!

Скриншоты форм, поставляемых в комплекте с модулем:

Форма обратной связи


Форма обратной связи, с ошибками


Сообщение об успешной отправке сообщения из формы обратной связи


Форма заказа звонка


Форма заказа звонка, в процессе отправки


Email, с заказом звонка


Тестовая форма с примером обработки результатов отправки формы


Настройка:
Параметры, доступные в файле конфигурации config.tpl:
  • templateFolder - Папка с шаблонами формы формы. Указывается подпапка, в папке uniform текущего шаблона сайта, в которой должны лежать файлы config.tpl, form.tpl и email.tpl. Например шаблон формы обратной связи feedback выглядит так:
    {THEME}/uniform/
    └── feedback/ 
        ├── config.tpl - файл конфига
        ├── email.tpl - файл email-сообщения
        └── form.tpl - файл вывода формы


  • nocache - отключение кеширования модуля.
  • debug - дебаг. Выводится распечатка конфига, массива данных, переданных через $_POST и массива данных, отправляемых на email.
  • required - обязательные поля. Указываются имена полей, обязательных для заполнения.
  • hidden - разрешенные скрытые поля. Такие поля передаются из атрибута data-uf-settings кнопки открытия формы. Например, если к кнопке открытия формы прописать:
    data-uf-settings='{"formConfig": "feedback", "fields":{"field1": "value1", "field2": "value2", "field3": "value3"}}'

    и при этом в конфиге будет вот такая запись:
    hidden = field1,field3

    то поле field2 не будет выведено в форму. Это сделано для безопасности работы модуля.
  • sendmail - отправлять email при заполнения формы?
  • emails - адреса почты, на которые необходимо отправлять уведомление. Необходимо прописать один или несколько email-адресов, через запятую.
  • selectFields - поля типа select. Необходимо перечислить через запятую имена всех полей, являющихся селектами.
  • checkboxFields - поля типа checkbox. Необходимо перечислить через запятую имена всех полей, являющихся чекбоксами.
  • radioFields - поля типа radio. Необходимо перечислить через запятую имена всех полей, являющихся радиокнопками.
  • sendAsPlain - отправлять сообщение как простой текст.
  • sendToAuthor - отправить письмо автору новости, если есть newsId (есть поле с name="newsId") и если автор разрешил получение писем с сайта.
  • sendToSender - отправлять письмо так же на email, указанный в поле email.
  • allowAttachments - разрешить прикрепление файлов.
  • maxFileSize - максимальный размер загружаемого файла (в килобайтах).
  • allowedFileTypes - разрешенные типы файлов, перечисляем расширения через запятую, без точек и пробелов.


Список тегов, поддерживаемых в шаблоне form.tpl:
  • {* текст *} - служебный комментарий. Текст, заключенный в такие теги, не будет выведен в браузер.
  • [error]текст[/error] - выводит текст, если форма содержит ошибки заполнения.
  • [success]текст[/success] - выводит текст, если форма удачно отправлена.
  • [form]текст[/form] - выводит текст, если форма только что открыта, или отправлена с ошибками.
  • [debug]{debug}[/debug] - выводит дебаг.
  • [uf_token_error]текст[/uf_token_error] - выводит текст, если происходит попытка межсайтовой подделки запроса (CSRF Attack) или если конфиг формы изменился во время заполнения формы.
  • [uf_email_error]текст[/uf_email_error] - выводит текст, если поле имеет имя email, является обязательным и не проходит валидацию (наличие символа @ и точки).
  • [uf_default_value]текст[/uf_default_value] - выводит текст, если форма открыта впервые.
  • {uf_filed_X} - выводит данные, переданные в форму из текстовых полей в случаи ошибочного заполнения.
  • [uf_field_X="Y"]текст[/uf_field_X] - выводит текст, если в текстовое поле X передано значение Y.
  • [uf_error_X]текст[/uf_error_X] - выводит текст, если текстовое поле содержит ошибку.
  • [uf_select_X="Y"]текст[/uf_select_X] - выводит текст, если в селекте X отмечен пункт со значением Y.
  • [uf_select_X_Y]selected[/uf_select_X_Y] - выводит текст, если в селекте X отмечен пункт со значением Y. Является вариацией предыдущего тега.
  • [uf_checkbox_X="Y"]текст[/uf_checkbox_X] - выводит текст, если отмечен чекбокс с именем X, содержащий значение Y.
  • [uf_checkbox_X_Y]checked[/uf_checkbox_X_Y] - выводит текст, если отмечен чекбокс с именем X, содержащий значение Y. Является вариацией предыдущего тега.
  • [uf_radio_X="Y"]текст[/uf_radio_X] - выводит текст, если отмечена радиокнопка с именем X, содержащая значение Y.
  • [uf_radio_X_Y]checked[/uf_radio_X_Y] - выводит текст, если отмечена радиокнопка с именем X, содержащая значение Y. Является вариацией предыдущего тега.

Вместо X следует прописывать имя инпута, селекта, чекбокса или радиокнопки. Имена не должны дублироваться.

Список тегов, поддерживаемых в шаблоне email.tpl:
  • {* текст *} - служебный комментарий. Текст, заключенный в такие теги, не будет выведен в сообщении.
  • [header]текст[/header] - тема письма.
  • {all_mail_fields} - выводит все поля, переданные из формы в удобном, для последующей вставке в шаблон, виде.
  • [uf_field_X]текст[/uf_field_X] - выводит текст, если текстовое пол X заполнено.
  • {X} - выводит данные, переданные в форму из текстового поля X.
  • [not_X]текст[/not_X] - выводит текст, если в текстовое поле X пустое.
  • [uf_field_X="Y"]текст[/uf_field_X] - выводит текст, если в текстовое поле X передано значение Y.
  • [uf_select_X="Y"]текст[/uf_select_X] - выводит текст, если в селекте X отмечен пункт со значением Y.
  • [uf_checkbox_X="Y"]текст[/uf_checkbox_X] - выводит текст, если отмечен чекбокс с именем X, содержащий значение Y.
  • [uf_radio_X="Y"]текст[/uf_radio_X] - выводит текст, если отмечена радиокнопка с именем X, содержащая значение Y.
  • {send_date} - выводит дату отправки сообщения из формы, отформатированную в соответсвии с настройками DLE.
  • {current_page} - выводит URL страницы, с которой было отправлено сообщение.
  • [news_id]{news_id}[/news_id] - ID новости (если есть поле с name="newsId").
  • [news_autor]{news_autor}[/news_autor] - логин автора новости (если есть поле с name="newsId").
  • [news_title]{news_title}[/news_title] - заголовок новости (если есть поле с name="newsId").
  • [news_email]{news_email}[/news_email] - Email автора новости (если есть поле с name="newsId").
  • {site_home_title} - выводит название сайта из настроек DLE.
  • {site_http_home_url} - выводит адрес сайта из настроек DLE.
  • {site_short_title} - выводит краткое название сайта из настроек DLE.
  • [user_name]{user_name}[/user_name] - выводит логин пользователя, отправившего сообщение.
  • [user_fullname]{user_fullname}[/user_fullname] - выводит полное имя пользователя, отправившего сообщение.
  • [user_email]{user_email}[/user_email] - выводит email пользователя, отправившего сообщение.
  • [user_foto]{user_foto}[/user_foto] - выводит ссылку на аватар пользователя, отправившего сообщение.
  • [user_land]{user_land}[/user_land] - выводит то, что пользователь, отправивший сообщение, написал в поле "Место жительства".
  • [to_sender] текст [/to_sender] - выводит текст для отправителя, если указан параметр sendToSender
  • [not_to_sender] текст [/not_to_sender] - выводит текст для получателей письма, отличных от отправителя, если указан параметр sendToSender

Вместо X следует прописывать имя инпута, селекта, чекбокса или радиокнопки. Имена не должны дублироваться.

uniform-1_4_2-universalnye-ajax-formy.zip
Создайте аккаунт или авторизуйтесь для скачивания
 
Версия DLE: 10.2-13.х
Кодировка: utf-8
Автор: ПафНутиЙ
Источник
Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.