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::"

Комментарии ()

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