[Modx Evo] Создание он-лайн формы, обратная связь eForm ModX. Форма обратной связи modx revo


Форма обратной связи modx на MODX без спама

Для создания формы на Modx без спама, надо её создать с дополнительными невидимыми полями:

1. Загружаем и устанавливаем компоненты Ajaxform и Formit

2. Форма вызывается очень просто, вы должны разобраться

[[!AjaxForm? &snippet=`FormIt` &form=`tpl.AjaxForm.example` &hooks=`email,spam` &emailFrom=`[email protected]` &emailSubject=`Заявка с сайта https: daruse.ru ` &emailTo=`[email protected]` &validate=`name:required,email:required,message:required,work-email:blank` &validationErrorMessage=`В форме содержатся ошибки!` &successMessage=`Спасибо за заявку! Мы свяжемся с вами в ближайшее время.` &emailTpl=`mailtpl` ]]

Описание параметров:

3. После этого заходим в наш чанк оформления формы, в данном случае это tpl.AjaxForm.example и добавим после тега form, следующие два поля.

<form action="" method="post"> <input type="hidden" name="nospam:blank" value="" /> <input type="hidden" name="work-email" value="" /> ... </form>

Теперь по Вашей форме не должен проходить спам, за счет двух новых полей.

4. Внешней вид приходящего письма

По умолчанию приходит на почту письмо без всякого форматирования в не очень читаемом формате. Поэтому давайте оформим немного наше письмо на примере.

Шаблон письма это простой чанк, который мы указываем в параметре emailTpl, тут всё очень просто, напишу пример оформления. Если будут вопросы, пишите в комментариях.

mailtpl:

<p>На сайте <b>[[++site_url]]</b> оставили заявку.</p> [[+name:notempty=`<p><b>Имя: [[+name]]</p>`]] [[+email:notempty=`<p><b>Почта: [[+email]]</p>`]] [[+message:notempty=`<p><b>Сообщение: [[+message]]</p>`]] <p>Пожалуйста свяжитесь с ним в ближайшее время.</p> <p>Не отвечайте на это письмо, так как оно автоматическое.</p>

Читайте о создании обратной формы на Ajax и php и простой обратной форме на php c защитой от спама.

daruse.ru

Все о компьютерах - Модальная форма обратной связи в MODx Revolution

Доброго времени суток, дорогой читатель! В этой статье я хотел бы поделиться с Вами опытом в создании формы обратной связи на сайте, используя модальное окно Twitter Bootstrap и HTML5. Для обработки формы я буду использовать сниппет MODx Revolution — FormIt.

Подготовка

Устанавливаем дополнение FomIt и Bootstrap для MODx Revolution. Теперь создадим чанк с текстом письма, которое будет отправляться как уведомление на почту. Назовем его emailChunk , сохраним его в категории FormIt, чтобы потом было легко его найти, и вставим простой HTML код:

<strong>[[+name]] заказал обратный звонок на сайте:</strong><br /><p>Пользователь оставил свой номер телефона [[+phone]] для связи с ним.</p>

Последним шагом подготовки будет создание страницы (Вы можете перенаправить пользователя на любую существующую страницу, к примеру на главную), на которую будет перенаправляться пользователь в случае правильного заполнения полей. В содержимое ресурса внесите текст с оповещением пользователя (например, Мы скоро перезвоним Вам!). В конце статьи и покажу пример вызова сниппета без перенаправления.

Создание модального окна и кнопки Twitter Bootstrap

В тело страницы вставляем HTML код кнопки, при нажатии на которую будет выходить модальное окно Twitter Bootstrap:

<button type="button" data-toggle="modal" data-target="#phoneModal" data-whatever="">Заказать звонок</button>

и HTML код модального окна, которое включено в форму:

<form action="[[~[[*id]]]]" method="post" enctype="multipart/form-data" role="form"><div tabindex="-1" role="dialog" aria-labelledby="phoneModalLabel" aria-hidden="true"><div><div> <div><button type="button" data-dismiss="modal"><span aria-hidden="true">&times;</span><span>Закрыть</span></button><h5>Заказать звонок</h5></div><div> <div><div><label for="name">Имя [[!+fi.error.name]]</label></div><input type="text" name="name" value="[[!+fi.name]]" /></div><div><div><label for="phone">Телефон [[!+fi.error.phone]]</label></div><input type="tel" name="phone" data-format="+7 (ddd) ddd-dddd" value="[[!+fi.phone]]" pattern="(\+[\d\ \(\)\-]{16})" /></div> </div><div><button type="button" data-dismiss="modal">Закрыть</button><input type="submit" name="submit_button" value="Заказать звонок"></div> </div></div></div></form>

В этом примере я использовал валидацию номера телефона с помощью Bootstrap Formhelpers Phone (подробнее):

В каждом текстовом поле можно указать свойство required. Браузер, использующий HTML5, оповестит пользователя о необходимости заполнить это поле.

<input type="text" name="name" value="" required />

Для удобства, приведенный HTML код модального окна и кнопки его вызова, можно поместить в отдельный чанк.

Вызов сниппета FormIt

Итак, после всех приготовлений, мы дошли до сути статьи. Берем код вызова сниппета и вставляем (Обязательно!) его выше формы:

[[!FormIt? &hooks=`email,redirect` &submitVar=`submit_button` &emailSubject=`Заказ обратного звонка на сайте` &emailTpl=`emailChunk` &emailTo=`[email protected]` &redirectTo=`1` &validate=`name:required,phone:required`]]

 А теперь все по порядку:

Проверочный код (captcha)

Если вам понадобится ввод проверочного кода, то здесь поможет recaptcha от Google. Заходим, регистрируемся, вводим доменное имя и получаем публичный и секретный ключи.

Заходим в настройки системы, в фильтре выбираем "formit" и в поле formit.recaptcha_private_key вставляем секретный ключ, а в поле formit.recaptcha_public_key — публичный ключ.

После идем к вызову сниппета и добавляем через запятую хук "recaptcha" в лист &hooks=`email,redirect,recaptcha`.

Теперь подправим HTML код формы с модальным окном, в него нужно будет добавить вызов параметров сниппета:

[[+formit.recaptcha_html]][[!+fi.error.recaptcha]]

Первый поместит область с проверочным кодом в тело окна, второй - выведет ошибки, если они будут.

Обработка формы без перенаправления

Если Вы хотите, чтобы пользователь оставался на этой же странице, удалите из списка хуков хук "redirect" и удалите свойство &redirectTo. В замен установите свойство &successMessage, в котором должен содержаться текст. В тело документа (страницы) поместите параметр [[!+fi.successMessage]]

На этом моя статья заканчивает, надеюсь она помогла Вам. До новых встреч!

Если у Вас появились ко мне вопросы по данной статье, задавайте их в комментариях ниже.

aboutcomputers.ru

MODX Revolution. Создание контактной формы с разрешением на обработку персональных данных

Контактная форма для обратной связи существует практически на каждом сайте. Она может служить для связи с администратором сайта, для заказа услуг или продукции, предложений сотрудничества и т. д. Реализовывать форму контактов мы будем с помощью дополнений Formit и AjaxForm и в соответствии с законом №152-ФЗ «О персональных данных» от 27.07.2006.

1. Устанавливаем пакеты Formit и AjaxForm.

2. Создаём шаблон контактов. Вкладка Элементы → категория Шаблоны → щёлкните правой кнопкой мыши и в контекстном меню выберите Новый шаблон.

В открывшемся окне заполните поля:

3. Создадим саму форму обратной связи. Вкладка Элементы → категория Чанки → щёлкните правой кнопкой мыши и в контекстном меню выберите Создать новый чанк здесь.

В открывшемся окне заполните поля:

4. Создаём чанк, который формирует письмо на отправку. Вкладка Элементы → раздел Чанки → категория Tpl → щёлкните правой кнопкой мыши и в контекстном меню выберите Создать новый чанк здесь

В открывшейся форме Новый чанк заполните поля:

Дополнительно:

Стили AjaxForm: assets/components/ajaxform/css/default.css

Документация по FormIt: https://docs.modx.com/extras/revo/formit

Документация по AjaxForm: https://docs.modx.pro/components/ajaxform

СВами

opencentr.ru

Создание формы обратной связи (заказа) / modx.pro

Всем привет!

Запилил такую вот форму обратной связи — ниже.

При попытке отправки сообщения выдает: «Пожалуйста, укажите получателя или получателей электронной почты.» Адрес указываю — в чем проблема? Спасибо!

Ну и если дадите какие-то общие рекомендации по оформлению, то буду крайне признателен!

[[!FormIt? &hooks=`recaptcha,spam,email,redirect,FormItAutoResponder` &validate=`name:required:minLength=^2^, tel:required, mail:<s></s>required, marka:required` &emailTo=`[email protected]` &emailTpl=`tplOrderOnlineEmail` &emailSubject=`Запрос с сайта "Название компании"` &redirectTo=`20` &fiarTpl=`tplOrderOnlineAutoResponse` &fiarSubject=`Спасибо за обращение!` &fiarToField=`mail` &fiarFromName=`Название компании` ]] [[!+fi.error_message:notempty=`<p>[[!+fi.error_message]]</p>`]] <form action="[[~[[*id]]]]" method="post"> <input type="hidden" name="nospam:blank" value="" /> <label for="name">ИМЯ *</label> <span>[[!+fi.error.name]]</span> <input type="text" name="name" value="[[!+fi.name]]" /> <label for="tel">ТЕЛЕФОН *</label> <span>[[!+fi.error.tel]]</span> <input type="text" name="tel" value="[[!+fi.tel]]" /> <label for="mail">EMAIL</label> <span>[[!+fi.error.mail]]</span> <input type="text" name="mail" value="[[!+fi.mail]]" /> <label for="marka">МАРКА *</label> <span>[[!+fi.error.marka]]</span> <select name="marka"> <option value="АВТО 1" [[!+fi.marka:FormItIsSelected=`auto_1`]] >АВТО 1</option> <option value="АВТО 2" [[!+fi.marka:FormItIsSelected=`auto_2`]] >АВТО 2</option> </select> <label for="vin">VIN</label> <input type="vin" name="vin" value="[[!+fi.vin]]" /> <label for="text">ПРИЧИНА ОБРАЩЕНИЯ</label> <textarea name="text" cols="55" rows="7" value="[[!+fi.text]]">[[!+fi.text]]</textarea> [[!+formit.recaptcha_html]] [[!+fi.error.recaptcha]] <input type="submit" value="Отправить" /> </form>

modx.pro

[Modx Evo] Создание он-лайн формы, обратная связь eForm ModX от Василисы Белозеровой

Создадим простую форму обратной связи с проверкой валидности e-mail и всеми обязательными полями. Так же добавим капчу. Слова капчи можно редактировать в меню Modx. Инструмент - Конфигурация - Пользователи.

 Все парметры eform можно посмотреть в  русской документации, вот тут.

1. В самом начале необходимо создать новый чанк с именем zayvka. (Элементы - Управление элементами - Чанки - Новый чанк)

Описание: основной чанк он лайн формы, вставить в шаблон

Код чанка (HTML):

[!eForm? &formid=`form1` &tpl=`form-tpl`&to=`[email protected]` &report=`report-tpl` &thankyou=`thank-tpl` &vericode=`1` &subject=`Сообщение с сайта yotadom.com`!]

Здесь необходимо вставить свою почту (вместо [email protected]), куда будет приходить информация из формы обратной связи. &vericode=`1` - если поставить 0, то капчи не будет. И изменить заголовок письма (Сообщение с сайта yotadom.com)

Сохраняем, выходим.

 

2. Далее создаем новый чанк, называем form-tpl и заполняем так:

<div>[+validationmessage+]<form method="post" action="[~10~]" name="myform"><input type="hidden" name="formid" value="form1" /><label for="author">Ваше имя</label> <input type="text" name="author" eform="Имя::1" /><label for="email">Email:</label> <input type="text" name="email" eform="Адрес электронной почты:email:1" /><label for="text">Текст сообщения</label> <textarea name="text" rows="0" cols="0" eform="Текст сообщения:html:0"></textarea><p>Введите этот код: <img src="[+verimageurl+]" alt="Код проверки" border="0"/><input type="text" name="vericode" /><input type="submit" name="submit" value=" Отправить " /><input type="reset" name="reset" value=" Сбросить " /></form></div>

 

Здесь меняем внешний вид, стили, можно так же добавить дополнительные окна и изменить текст около окон. Вместо [~10~] вставляем ID страницы на которой расположена форма.

 

3. Важный чанк ответа report-tpl:

Это сообщение было отправлено посетителем по имени [+author+] с помощью формы обратной связи. </p> <table><tr valign="top"><td><b>Имя:</b></td><td>[+author+]</td></tr><tr valign="top"><td><b>Email:</b>:</td><td>[+email+]</td></tr><tr valign="top"><td><b>Сообщение:</b></td><td>[+text+]</td></tr></table><p>Вы можете использовать эту ссылку для ответа: <a href="mailto:[+email+]?subject=RE:[+subject+]">[+email+]</a></p>

Если в прошлом пункте добавили поля, то следует их добавить и сюда.

 

4. И последний чанк называем thank-tpl, вот его содержимое:

<strong>Ваше сообщение отправлено!</strong> <p>Мы рассмотрим его в ближайшее время</p><p>Отправленная информация:</p><ul><li><b>Ваше имя:</b> [+author+]</li><li><b>Ваш e-mail:</b> [+email+]</li><li><b>Текст сообщения:</b> [+text+]</li></ul>

Здесь урок, который поможет прикрепить файл к форме обратной связи

Здесь урок, который поможет создать форму в модальном окне (всплывающее окно)

Отправить файл клиенту, после отправки формы связи

Другой вариант формы в модальном окне

 

yotadom.com


Prostoy-Site | Все права защищены © 2018 | Карта сайта