Создавать веб-формы и встраивать их на страницы достаточно просто, потребуется минимум знаний html
Форма обратной связи обычно используется на странице Контакты. В большинстве шаблонов она расположена в файле pages/feedback.html
Для работы формы используются следующие элементы
Код | Обязательное | Описание |
---|---|---|
<input name="fb[name]" type="text" /> | нет | Имя отправителя |
<input name="fb[phone]" type="tel" /> | нет | Телефон |
<input name="fb[email]" type="email" /> | нет | Эл.почта |
<textarea name="fb[message]" rows="5"></textarea> | нет | Текст сообщения |
{include file="pages/captcha.html"} | нет | Каптча, защитная картинка, для защиты от спама. Лучше настройку внешнего вида каптчи выводить в отдельный файл и подключать его. Для работы каптчи требуется включение элемента sys_captcha. |
<input name="fb[from_page]" type="hidden" value="{$uri.site}{$uri.path}" /> | нет | С какой страницы вызывается форма |
<input type=" hidden"name="fb[redirect]" value="{$uri.site}{$uri.path}" /> | нет | Страница, на которую перейдет посетитель после отправки формы |
<input name="fb[type]" type="hidden" value="feedback" /> | да | Тип формы, по которому можно различать, какая из форм на странице была заполнена (если их несколько) |
<input name="fb[when]" type="hidden" value="{ $site.formkey }" /> | да | Ключ, автоматически устанавливаемое значение |
<input name="fb[feedback]" type="hidden" value="1" /> | нет | Служебное поле |
<input name="fb[phone]" required="" type="tel" value="{$simpla.POST.fb.phone}" /> | нет | Пример обязательного поля с заполненным значением в случае возврата формы |
Для создания своих полей, нужно добавить поле любого типа в массив name="fb[your_value]", например, <input name="fb[age]" type="text" /> - добавив такое поле, можно предложить посетителю указать свой возраст.
В панели администратора в разделе Запросы (/?action=feedback) можно увидеть все формы, которые отправлялись с сайта. Открыв нужную форму, можно увидеть все заполненные посетителем поля и изменить статус запроса.
В панедли администратора - настройки - блоки - можно найти пункт Веб-формы. Если он пуст, то можно добавить веб-форму, которая должна содержать все необходимые поля в виде html. Важно заполнить название формы на латинском языке - эта метка будет использоваться для показа формы на страницах сайта.
Например, мы создадим форму form1 и заполним поле html необходимыми полями. Таким образом, на любой странице в редакторе вы сможете вставить эту форму, указав %form1%
В примере после отправки формы происходит редирект на страницу /?sent=1 и вместо формы показывается сообщение, что форма отправлена.
{if empty($simpla.GET.sent)} {if !empty($page.error)}<h4 style="color:red;">{$page.error}</h4>{/if} <form method="post"> <input type="hidden" name="fb[when]" value="{ $site.formkey }"> <input type="hidden" name="fb[from_page]" value="{$uri.site}{$uri.path}"> <input type="hidden" name="fb[type]" value="form1"> <input type="hidden" name="fb[redirect]" value="{$uri.site}{$uri.path}?sent=1"> <input type="hidden" name="fb[subject]" value="Request"> <input type="hidden" name="skip_captcha" value="{$simpla[NOW]}"> Телефон: <input type="text" name="fb[phone]" required> E-mail: <input type="text" name="fb[email]" required> Имя <input type="text" name="fb[name]" required> Сообщение <textarea rows="5" name="fb[message]" required></textarea> {include file="pages/captcha.html"} <input type="submit" value="Отправить"> </form> {else} <p>Форма успешно отправлена!</p> {/if}
bitrix (3) шаблон (3) mobile (2) pagespeed (2) simpla (2) блоки (2) переменные (2) cms (1) email (1) google merchant center (1) hosting (1) seo (1) wordpress (1) валюты (1) константы (1) мобильная версия (1) платежи (1) посетители (1) рассылка (1) сравнение (1) теги (1) фильтр (1) шаблоны (1) яндекс маркет (1)