Пример: контактная форма⚓︎
Простая контактная форма⚓︎
Плагин Grav Form — это самый простой способ использовать формы на вашем сайте. Давайте посмотрим, как мы можем создать простую контактную форму.
Живой пример⚓︎
У каркаса Sora Article есть страница с формой, которую можно просмотреть во время чтения этого руководства:
Настройка страницы⚓︎
Вы можете разместить форму на любой странице вашего сайта. Всё, что вам нужно сделать, это переименовать файл разметки страницы в form.md
или добавить заголовок шаблон во внешний вид страницы, чтобы он использовал шаблон form
.
Шаблон вашей страницы или родительский шаблон страницы должен содержать тег {% block content %}
, чтобы плагин Grav Form отображал ваши данные на странице.
Поля формы и инструкции по обработке определены во внешнем интерфейсе YAML страницы, поэтому просто откройте файл разметки страницы в своем любимом редакторе и поместите в него следующий код:
---
title: Контактная форма
form:
name: contact
fields:
name:
label: Имя
placeholder: Укажите свое имя
autocomplete: on
type: text
validate:
required: true
email:
label: Имейл
placeholder: Укажите свой имейл
type: email
validate:
required: true
message:
label: Сообщение
placeholder: Введите сообщение
type: textarea
validate:
required: true
g-recaptcha-response:
label: Капча
type: captcha
recaptcha_not_validated: 'Капча не действительна!'
buttons:
submit:
type: submit
value: Отправить
reset:
type: reset
value: Сброс
process:
captcha: true
save:
fileprefix: contact-
dateformat: Ymd-His-u
extension: txt
body: "{% include 'forms/data.txt.twig' %}"
email:
subject: '[Контактная форма сайта] {{ form.value.name|e }}'
body: "{% include 'forms/data.html.twig' %}"
message: Спасибо, что связались с нами!
---
# Контактная форма
Пример содержимого страницы
Убедитесь, что вы настроили адреса электронной почты в плагине Email.
В этом примере используется Google reCAPTCHA через поле Captcha, и вы должны настроить ваши site_key
и secret_key
в плагине Form, чтобы это работало. Если вы не хотите использовать Google reCaptcha, просто удалите поле g-recaptcha-response
и строчку captcha: true
из секции process
.
Теперь внутри папки contacts
создайте подпапку с именем thankyou/
, а в ней — новый файл с именем formdata.md
. И вставьте следующий код:
Вот и всё!
Формы на модульных страницах работают по-разному. Чтобы узнать об этом больше, рекомендуем прочитать использование форм на модульных страницах
Когда пользователи отправят форму, плагин отправит вам электронное письмо (как установлено в настройках form
плагина Email) и сохранит введенные данные в папке data/
.
Для получения полной информации о настройке электронной почты, пожалуйста, прочтите документацию по плагину Email
Вы можете активировать плагин Grav Data Manager, чтобы увидеть эти данные в плагине админки.
В будущем мы хотим, чтобы Grav могла динамически генерировать формы из плагина админки.