Все для DataLife Engine / DLE модули / Бесплатные / Плагин UniForm — модуль ajax-форм обратной связи

Плагин UniForm — модуль ajax-форм обратной связи

UniForm — модуль универсальных ajax-форм для DataLife Engine
DLE плагин UniForm — модуль ajax-форм обратной связи для сайта DataLife Engine, универсальная ajax-форма для замены стандартной форма обратной связи, обладает множеством функций, своими доп полями на любой случай, защитой от ботов, легкими настройками и параметром. Сегодня представляем на https://dle9.com/ бесплатный модуль DLE универсальных ajax-форм UniForm.

Представляем модуль UniForm — модуль универсальных ajax-форм для DataLife Engine (многофункциональная email рассылка), ajax-форма для DataLife Engine без БД, удобный и быстрый с огромным потенциалом по настройке всяких тегов с легкой установкой. Если вы веб-разработчик, что стремится заработать на качестве предоставляемых услуг вашей интернет-площадки, то вам нужно знать о потребностях пользовательской аудитории, найти ответ на вопросы или получить из от пользователей, поможет форма обратной связи с функцией email рассылки. Многофункциональная ajax-форма email рассылки DLE-UniForm придуман автором ПафНутиЙ. О всех преимуществах DLE-UniForm, тегах DataLife Engine используемые в данном модуле читаем ниже у нас на сайте

Хотите улучшить стандартную форму обратной связи в DLE. Не подходит вашему проекту стандартная форма обратной связи? Нужно добавить свои поля? Нужна современная защита от ботов и спама, при этом лёгкая настройка плагина без использования БД? Вот разработка, которая нужна Вам!

Преимущества dle модуль формы

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

Установка

Скачать актуальную версию модуля
Распаковать содержимое папки DLE-UniForm-X.X.X (X.X.X - номер актуальной версии модуля) в корень сайта.
В браузере запустить установку модуля по адресу: ваш_сайт/dle_module_install.php?module=uniform
Следовать инструкциям

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


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



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


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


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



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



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



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


Настройка

Описание и примеры конфигурации вызова модуля можно найти в файлах, с именем config.tpl.
Описание и примеры параметров формы можно найти в файле {THEME}/uniform/test/form.tpl.
Описание и примеры параметров email-сообщения можно найти в файле {THEME}/uniform/callback/email.tpl.


Параметры, доступные в файле конфигурации (config.tpl):

templateFolder — Папка с шаблонами формы формы. Указывается подпапка, в папке uniform текущего шаблона сайта, в которой должны лежать файлы config.tpl, form.tpl и email.tpl. Например шаблон формы обратной связи (feedback) выглядит так:

    {THEME}/uniform/
    L-- feedback/ 
        +-- config.tpl - файл конфига
        +-- email.tpl - файл email-сообщения
        L-- 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.
Вместо X следует прописывать имя инпута, селекта, чекбокса или радиокнопки. Имена не должны дублироваться.

{* текст *} — Служебный комментарий. Текст, заключенный в такие теги, не будет выведен в браузер.
[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. Является вариацией предыдущего тега.




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

{* текст *} — Служебный комментарий. Текст, заключенный в такие теги, не будет выведен в сообщении.
[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



Добавлено в v1.3

Новый, удобный установщик модуля.
Добавлена возможность пикреплять файлы к сообщению в форме. Для этого необходимо в конфиге указать параметр allowAttachments, а так же параметры maxFileSize (максимальный размер прикрепляемого файла) и allowedFileTypes (доступные типы файлов) при необходимости. Готовый шаблон для прикрепления файлов к сообщению — attachments.
Добавлен новый параметр конфигурации sendToSender. Если этот параметр задан, то письмо будет отправлено на email-адрес, указанный в поле email. Так же проверяется валидность этого адреса.
В шаблон email-сообщения добавлены новые теги, обрабатываемые в сообщении и в поле заголовке письма, когда активирован параметр sendToSender.
[to_sender] текст для отправителя [/to_sender]
[not_to_sender] текст для других получателей [/not_to_sender]
Добавлены почти все поля из профиля пользователя в шаблон email.
Добавлен вывод допполей из профиля пользователя в шаблон email.
Ко всем тегам в шаблонах email-сообщения добавлены противоположные теги [not_X], выводящие текст между ними, когда соответствующий тег {X} пуст.
Исправлена ошибка, когда пользователю разрешено менять шаблон сайта, а шаблон формы берётся из шаблона, установленного по умолчанию в системе.
Улучшения и оптимизация кода.
Теперь минимально-допустимая версия php - 5.4.

Добавлено в v1.4

Обновлён установщик
Добавлен новый параметр parseSendMail, добавляющий возможность производить манипуляции над данными перед отправкой email. В параметр передаётся путь к php файлу, без расширения, отностительно папки engine/modules. Например можно добавить в шаблон email-сообщения новые теги
[footer]{footer}[/footer]
.

Для этого в конфиге прописываем parseSendMail = addFooter, создаём файл engine/modules/addFooter.php со следующим содержимым:

    <?php
    if ($arSendMail['select1'] === 'val1') {
    	$mailTpl->set('[footer]', '');
    	$mailTpl->set('[/footer]', '');
    	$mailTpl->set('{footer}', $arSendMail['select1']);
    } else {
    	$mailTpl->set_block("'[footer](.*?)[/footer]'si", '');
    }



Для вывода формы непосредственно на странице достаточно прописать в нужном месте шаблона (начиная с версии 1.1):

<div data-uf-inline="/engine/ajax/uniform/uniform.php" data-uf-settings='{"formConfig": "inline"}'>
	<div class="uf-inline-loading"></div>
</div>



Для Отправки сообщения автору новости необходимо прописать в шаблон краткой или полной новости (начиная с версии 1.2):

<span class="uf-btn" data-uf-open="/engine/ajax/uniform/uniform.php" data-uf-settings='{"formConfig": "newsauthor", "fields": {"newsId": "{news-id}"}}'>Связь с автором новости</span>


Ответы на частые вопросы


[Q]: Почему ничего не работает?
[A]: C вероятностью в 80% у вас дважды подключена бибилиотека jQuery (20% - проверьте шаги по инструкции).

[Q]: Сделано всё по инструкции, но модальное окно не открывается.
[A]: У вас дважды подключена библиотека jQuery. Имейте ввиду, что в DLE уже есть jquery и подключать её отдельно не нужно.

[Q]: Библиотека jQyery подключена 1 раз (я проверил все скринты на странице в браузере, а не в файле шаблона), но окно всё равно не открывается.
[A]: Вполне вероятно, что вы перенесли js в конец страницы, а скрипты модуля подключаете в начало. Перенесите скрипты модуля в конец страницы.

[Q]: Не приходит письмо.
[A]: Проверьте конфиг модуля (поле emails должно быть раскомментировано). Если всё ок — проверьте папку спам (недопочты типа mail.ru, rambler и прочие noname почтовые службы очень часто при неправильной настройке сервера отправляют письма в спам, особенно, если у вас shared-хостинг). Если в папке спам ничего нет — проверьте логи почтового сервера (узнать о расположении логов можно у хостера). Самый простой способ избежать конфузов при отправке почты - подключить почту для домена.



Требования к установке

Все версии DLE: 10.2 и выше.
PHP 5.4 и выше.
Прямые руки.
Автор плагина: Pafnuty (Pavel Belousov)
## Информация о модуле

- [Описание и настройка модуля](http://pafnuty name/modules/159-uniform.html)
- [Список изменений](https://github com/pafnuty/DLE-UniForm/blob/master/CHANGELOG.md)


DLE плагины скачать многофункциональной email рассылки, ajax-форма обратной связи и другие можно у нас без регистрации, как представленный модуль по следующей ссылке

uniform-master.zip [130,94 Kb] (cкачиваний: 109)
  • 100
Добавить комментарий

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

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent