» » UniForm — модуль универсальных ajax-форм для DataLife Engine

UniForm — модуль универсальных ajax-форм для DataLife Engine

16.03
722
198 605
UniForm — модуль универсальных ajax-форм для DataLife Engine

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

Преимущества


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


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


  • Версия DLE: 10.2 и выше.
  • PHP 5.4 и выше.
  • Прямые руки.


Установка


  • Скачать актуальную версию модуля
  • Распаковать содержимое папки 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/
    └── 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.
Вместо 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.2



Улучшения и исправления

  • Теперь если в форме есть заполненное поле с `name="header"`, такое поле будет автоматически подставлено в тему письма.
  • Исправлена ошибка на DLE 10.5+ с невозможностью указать email отправителя из формы.
  • Исправлена ошибка с экранированием кавычек в письме.
  • Если пользователь авторизован, то тег {uf_field_email} при открытии формы автоматически заменится на его email.
  • Убран тег {send_date=D.m.Y} т.к. он оказался нерабочим.
  • Исправлено некорректное поведение тега {send_date}.
  • Добавлен новый параметр конфигурации sendAsPlain — Отправлять сообщение как простой текст. Теперь можно отправлять письма как простые текстовые сообщения, без обработки html.
  • Добавлен новый параметр конфигурации sendToAuthor — Отправить письмо автору новости, если есть поле с name="newsId" и если автор разрешил получение писем с сайта.
  • Реализована возможность отправлять в письме данные из новости. Для этого необходимо передать в форму поле newsId. Пример шаблона в папке newsauthor.
  • Реализована возможность отправки сообщения на email автора новости. Для этого необходимо передать в форму поле newsId и в конфиге прописать sendToAuthor = y. Пример шаблона в папке newsauthor.


Новые теги для email-сообщений

  • [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] — Выводит то, что пользователь, отправивший сообщение, написал в поле "Место жительства".



Добавлено в 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>



Скачать модуль UniForm

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



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

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

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

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




Жду ваших отзывов!

Похожие материалы

Комментарии

Alex777
Alex777 28 декабря 2017 10:41
Здравствуйте! Модуль установил и все прекрасно работает, вопрос в следующем, возможно ли сделать так, например я передаю ссылку на страницу сайта на которой есть форма и форма без нажатия на кнопку вызова формы, сразу открывается? Возможно ли передать с урлом какой нибудь параметр который откроет форму? Сделать отдельную страницу под форму не вариант. А так же не вариант, чтобы форма всегда открывалась по заходу на эту страницу, а должна только при переходе по определенной ссылке
ПафНутиЙ
ПафНутиЙ 30 декабря 2017 20:34
Цитата: Alex777
Здравствуйте! Модуль установил и все прекрасно работает, вопрос в следующем, возможно ли сделать так, например я передаю ссылку на страницу сайта на которой есть форма и форма без нажатия на кнопку вызова формы, сразу открывается? Возможно ли передать с урлом какой нибудь параметр который откроет форму? Сделать отдельную страницу под форму не вариант. А так же не вариант, чтобы форма всегда открывалась по заходу на эту страницу, а должна только при переходе по определенной ссылке

Можно добавить якорь и отслеживать его через js, если есть, эмулировать клик по кнопке или выполнять метод open
Alex777
Alex777 4 января 2018 12:47
Можете мне помочь с этим? Я в js не особый специалист )
gnutyi
gnutyi 15 января 2018 12:29
По какой причине могут не отправятся письма???
На тестовом сайте работало
когда перенес шаблон на другой сайт то не отправляется.
https://beloffice.by/partneram/30-gfhnythfv.html
И кнопка внизу
gnutyi
gnutyi 15 января 2018 13:41
Цитата: ПафНутиЙ
Цитата: arnandez
Друзья, у меня проблема следующего характера. Перенес сайт с одного хостинга на другой и модуль не отправляет письма.
В чем может быть проблема? проверял разные скрипты обратных форм на этом новом хостинге, с каких-то уходят письма, с каких-то нет, в чем может быть проблема и как понятнее написать письмо саппорту?

Попробуйте проверить права доступа на папках и файлах напишите хостеру.


Решил вопрос следующим способом:
1. - Права в первую очередь переписал 777 для папок и 666 для файлов - не помогло
2. - Настройка скрипта> настройка почты> Системный E-Mail адрес администратора: поставил доменную почту ...@beloffice.by
После этого заработало)
Спасибо за понимание. Я не дошел до последнего коммента и написал свой) прошу простить меня.
vaniya92
vaniya92 8 февраля 2018 19:16
Добрый день! А можно сделать для нее отправку еще и по смс? Очень нужно
ПафНутиЙ
ПафНутиЙ 8 февраля 2018 19:22
Цитата: vaniya92
Добрый день! А можно сделать для нее отправку еще и по смс? Очень нужно

Да, как раз в версии 1.4.0 была добавлена возможность обработки данных перед отправкой на email.
Вы можете передать данные в ваш скрипт отправки смс.
vaniya92
vaniya92 8 февраля 2018 19:27
Я подумал, что может кто-то уже делал так, просто сам я не программист smirk
Ума хватает только готовый модуль поставить
vvp001
vvp001 16 февраля 2018 19:33
скачал архив, залил на сервер, распаковал. Пробую зайти для инсталяции и выдаёт ошибку "Установленная версия DLE слишком старая. Необходимо установить DLE не ниже 10.2 " - скрин https://yadi.sk/i/WqUt0Pda3SUVKv
Хотя установлена версия DLE 12.1 - скрин https://yadi.sk/i/1NgGMBVd3SUVV4

Скажите, что можно сделать?
ПафНутиЙ
ПафНутиЙ 19 февраля 2018 20:16
Цитата: vvp001

Скажите, что можно сделать?

Проверьте версию модуля, должна быть как минимум 1.4.0
Так же проверьте лицензионная ли версия DLE установлена у вас.
chrome
chrome 1 марта 2018 21:05
Нужно сделать, чтобы письма приходили не с адреса отправителя, а с моего (использую почту домена), т.к. письма то в спам залетают, то вообще не доходят, то еще что... А с почтой домена с доставкой нет проблем.
Сделал так: input name="email" сделал скрытым и вписал в value свою почту. Создал второе поле для ввода почты под именем email2, это поле уже будет отображаться при заполнении формы. Но вот валидацию для этого поля уже не получается сделать, т.к. теги [uf_email_error] [/uf_email_error] работают только для поля с именем email. Как его можно переключить на email2 ? Или может я слишком заморочился и есть по проще способ подставить свою почту?
ПафНутиЙ
ПафНутиЙ 2 марта 2018 10:40
Цитата: chrome
Нужно сделать, чтобы письма приходили не с адреса отправителя, а с моего (использую почту домена), т.к. письма то в спам залетают,

Просто настройте email-адрес в админке DLE
chrome
chrome 2 марта 2018 13:49
Цитата: ПафНутиЙ
Просто настройте email-адрес в админке DLE

Настроить в каком плане? Там везде стоит моя почта домена
ПафНутиЙ
ПафНутиЙ 2 марта 2018 17:12
Цитата: chrome
Цитата: ПафНутиЙ
Просто настройте email-адрес в админке DLE

Настроить в каком плане? Там везде стоит моя почта домена

Пожалуйста, создайте тиккет https://github.com/dle-modules/DLE-UniForm/issues/new и приложите код конфига и шаблон формы, попробуем разобраться.
wasp
wasp 3 марта 2018 13:55
Не приходит прикрепленный файл! В шаблоне /attachments/ все нормально файл приходит на почту. Подключил в inline загрузку файлов:


Если файл большего размера чем задано, то приходит имя файла. Если допустимого, то отправка происходит но файл не приходит и поле пустое в email. Подскажите что не так сделал?
chrome
chrome 5 марта 2018 00:33
Цитата: ПафНутиЙ
Цитата: chrome
Цитата: ПафНутиЙ
Просто настройте email-адрес в админке DLE

Настроить в каком плане? Там везде стоит моя почта домена

Пожалуйста, создайте тиккет https://github.com/dle-modules/DLE-UniForm/issues/new и приложите код конфига и шаблон формы, попробуем разобраться.

Может дело в том, что я использую старую версию модуля? То есть какая почта указана в настройка движка, с неё и должны приходить письма? Это на новых версиях модуля так?
ПафНутиЙ
ПафНутиЙ 8 марта 2018 09:47
Цитата: wasp
Если файл большего размера чем задано, то приходит имя файла. Если допустимого, то отправка происходит но файл не приходит и поле пустое в email. Подскажите что не так сделал?

а из обычного шаблона приходит?
ПафНутиЙ
ПафНутиЙ 8 марта 2018 09:49
Цитата: chrome
Это на новых версиях модуля так?

Нет, это всегда так было, но обновиться рекомендую, по крайней мере избавитесь от известных ошибок предыдущих версий.
wasp
wasp 8 марта 2018 13:02
Цитата: ПафНутиЙ

а из обычного шаблона приходит?

Да. Из шаблона /attachments/ все нормально файл приходит на почту!
dess
dess 10 марта 2018 13:59
Добрый день, подниму прошлогодний вопрос - "обязательный чекбокс"
Понадобилось установить обязательный чекбокс и не выходит - версия Униформ 1.4, дле 12.1

в конф:
required = email,checkbox1
checkboxFields = checkbox1

Если текстовое поле email не заполнено то выводит ошибку по чекбоксу
[uf_error_checkbox1]
текст ошибки
[/uf_error_checkbox1]

Если поле email заполнено то игнорирует обязательный чекер и письмо уходит.


Подскажите как правильно настроить?
VitArts
VitArts 12 марта 2018 11:08
Павел будь другом подскажи, как можно вызвать форму обратной связи через ajax запрос на страницу:

<a href="/contact.html" data-effect="mfp-zoom-out" class="simple-ajax-popup-align-top header__cta">Контакты</a>


Cама форма:

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


Сам вызов:

$(document).ready(function() {

  $('.simple-ajax-popup-align-top').magnificPopup({
    type: 'ajax',
    overflowY: 'scroll',
    removalDelay: 500,
    preloader: false,

    callbacks: {
  parseAjax: function(mfpResponse) {
    mfpResponse.data = jQuery(mfpResponse.data).find('.ajaxstatic');

  },


beforeOpen: function() {
        this.st.mainClass = this.st.el.attr('data-effect');
      },
}, 

  });

});
ПафНутиЙ
ПафНутиЙ 12 марта 2018 20:38
Цитата: VitArts
Павел будь другом подскажи, как можно вызвать форму обратной связи через ajax запрос на страницу:

Как то так:

<a href="/contact.html" 
   class="simple-ajax-popup-align-top header__cta"
   data-effect="mfp-zoom-out" 
   data-uf-inline="/engine/ajax/uniform/uniform.php"
   data-uf-settings='{"formConfig": "inline"}'
>Контакты</a>


$(document).on('click', '.simple-ajax-popup-align-top', function (event) {
	event.preventDefault();
	$.magnificPopup.open({
		items: {
			src: 'someimage.jpg'
		},
		type: 'ajax',
		overflowY: 'scroll',
		removalDelay: 500,
		preloader: false,

		callbacks: {
			parseAjax: function (mfpResponse) {
				mfpResponse.data = jQuery(mfpResponse.data).find('.ajaxstatic');

			},

			beforeOpen: function () {
				this.st.mainClass = this.st.el.attr('data-effect');
			},
		},
	}, 0)
});
ПафНутиЙ
ПафНутиЙ 12 марта 2018 20:41
Цитата: dess
Если поле email заполнено то игнорирует обязательный чекер и письмо уходит.

https://github.com/dle-modules/DLE-UniForm/issues/55 ждёт своего часа.
VitArts
VitArts 12 марта 2018 21:35
Цитата: ПафНутиЙ
Цитата: VitArts
Павел будь другом подскажи, как можно вызвать форму обратной связи через ajax запрос на страницу:

Как то так:

<a href="/contact.html" 
   class="simple-ajax-popup-align-top header__cta"
   data-effect="mfp-zoom-out" 
   data-uf-inline="/engine/ajax/uniform/uniform.php"
   data-uf-settings=&#39;{"formConfig": "inline"}&#39;
>Контакты</a>


$(document).on(&#39;click&#39;, &#39;.simple-ajax-popup-align-top&#39;, function (event) {
	event.preventDefault();
	$.magnificPopup.open({
		items: {
			src: &#39;someimage.jpg&#39;
		},
		type: &#39;ajax&#39;,
		overflowY: &#39;scroll&#39;,
		removalDelay: 500,
		preloader: false,

		callbacks: {
			parseAjax: function (mfpResponse) {
				mfpResponse.data = jQuery(mfpResponse.data).find(&#39;.ajaxstatic&#39;);

			},

			beforeOpen: function () {
				this.st.mainClass = this.st.el.attr(&#39;data-effect&#39;);
			},
		},
	}, 0)
});


Спасибо большое за ответ, но может я не правильно объяснил...

Есть кнопка контакты которая по ajax открывает статическую страницу контакты - http://joxi.ru/nAyxEZLhYJwKM2
После ее открытие происходит следующие - http://joxi.ru/ZrJY81OS9LnKyA

Можно как то сделать, что бы форма подгружалась в этом ajax окне?
ПафНутиЙ
ПафНутиЙ 13 марта 2018 10:12
Цитата: VitArts
Можно как то сделать, что бы форма подгружалась в этом ajax окне?

Просто в колбэке jajx окна прописать загрузку формы:
ajaxContentAdded: function () {
				var $inlineUniform = $(this.content).find('[data-uf-inline]');
				if ($inlineUniform.length) {
					$.each($inlineUniform, function (index, val) {
						var $this = $(this),
							url = $this.data('ufInline'),
							data = $this.data('ufSettings');

						$.ajax({
								url: url,
								data: data,
							})
							.done(function (data) {
								$this.html(data);
							});

					});
				};
			}
VitArts
VitArts 13 марта 2018 10:43
Огромное спасибо)
Heaven
Heaven 17 марта 2018 02:56
Установил по инструкций но сообщение не приходит http://andronilex.md/
Heaven
Heaven 17 марта 2018 03:08
Цитата: Heaven
Установил по инструкций но сообщение не приходит http://andronilex.md/

Перестал работать после обновления модуля сообщение не приходит а пишет что она отправлено
Heaven
Heaven 17 марта 2018 03:10
Цитата: Heaven
Цитата: Heaven
Установил по инструкций но сообщение не приходит http://andronilex.md/

Перестал работать после обновления модуля сообщение не приходит а пишет что она отправлено

templateFolder = callback
// nocache = y
// debug = y
required = phone
selectFields = calltime
sendmail = y
emails = ....@gmail.com, ....@mail.ru
ПафНутиЙ
ПафНутиЙ 24 марта 2018 19:41
Цитата: Heaven
Установил по инструкций но сообщение не приходит http://andronilex.md/

Пожалуйста, посмотрите раздел FAQ: https://pafnuty.name/modules/159-uniform.html#faq скорее всего вы найдёте там ответ.

Добавить комментарий

Комментировать могут только зарегистрированные пользователи

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.