eForm - работа с формами
eForm, как явствует из названия, предназначен для работы с формами в Modx Evo.
Параметры сниппета:
formid=`form1` - идентификатор формы. Используется, если на странице есть несколько форм. В самом же шаблоне формы при этом нужно задать такой же идентификатор. Есть 2 варианта сделать это. Либо написать напрямую (если у вас старая версия):
<input type="hidden" name="formid" value="form1"/>
Или же прописать идентификатор прямо в тэге form с помощью аттрибута id (более свежая версия eForm).
&tpl=`form_tpl` - чанк с шаблоном самой формы.
&to=`user@mail.ru` - имя получателя письма.
&report=`report_tpl` - чанк с шаблоном отчёта, который придёт на почту.
&thankyou=`thank_tpl` - чанк с благодарственным сообщением, который будет показан пользователю при отправке письма.
&subject=`Сообщение с моего сайта` - тема письма, которая будет отображена в письме получателю.
&vericode=`0` - использовать ли капчу на сайте?
Плэйсхолдеры в шаблоне письма
В шаблоне письма создается сама форма, при этом используется тэг form и все сопутствующие элементы. Обычно, в атрибуте action указывается ссылка на ту же самую страницу. Получить её можно так: [~[*id*]~]
[+validationmessage+] - сообщение, которое будет выводиться, если в форме имеются какие-либо ошибки. Например, если не все поля были заполнены.
Рисунок с капчей можно вывести вот так:
<img src="[+verimageurl+]" alt="Код проверки" class="verimage" border="1"/>
Само поле с полем ввода выводится так:
<input type="text" class="vericodeform" name="vericode" />
При этом у каждого поля может присутствовать специальный атрибут eform, в котором содержится информация о названии поля, о том какого типа эта будет информация (число, строка, email, дата и т. д.) и будет ли это поле являться обязательным. Параметры разделяются двоеточием. Например:
Имя:string:1 - поле Имя должно быть строкой, в котором может быть что-угодно, главное чтобы там был текст. 1 - поле является обязательным.
Дата:date:0 - поле Дата должно быть датой. Ноль означает, что оно не является обязательным.
Плэйсхолдеры письма на почту
Здесь всё просто - если у вас в форме есть поле, в атрибуте name которого прописан name, то получаем плэйсхолдер [+name+]. Поле с атрибутом name, в значении которого указано phone даёт плэйсхолдер [+phone+] и так далее. В самом плэйсхолдере находится информация, которую заполнил пользователь в соответствующем поле.
Письма не отправляются на почту и у вас есть скрытые поля заполняемые Javascript?
В eFrom такие поля предназначены для специальных целей, а именно - защита от их подделки при отправке. Чтобы такой проверки не происходило, нужно использовать специальный атрибут для каждого такого поля eform="::0::"
Вы должны авторизоваться, чтобы оставлять комментарии.
Комментарии ()