- Описание
- Установка
- Настройка веб сервера
- Данные и шаблоны
- Оптимизация JS и CSS файлов
- Вывод контента
- Корзина товаров
- Настройка онлайн оплаты
- Настройка оплаты через Robokassa
- Меню
- Формы
- Поиск
- Учет количества товара на складе
- Мульти-валютность
- Мульти-язычность
- Изменение размеров изображений
- Разработчикам
- Импорт-Экспорт
- Установка на локальный сервер XAMPP в Windows
- Настройка VDS и установка Nginx, PHP, MongoDB, Shopker
- JavaScript API
- Визуальный редактор шаблонов
- Бронирование
- Экспорт каталога в Яндекс.Маркет
- Bash скрипт для настройки VDS
- Bash скрипт для установки
- API
- Установка локально в ОС Windows
Формы
Для вставки формы в шаблон страницы можно использовать Twig функцию renderForm()
. Пример:
{{ renderForm('contacts', 'form/bootstrap_4_horizontal_layout.html.twig') }}
Аргументы:
- Название YAML файла с данными формы. Файл должен находиться в папке
config/resources/forms/
. - Тема формы или шаблон темы.
- Имя переменной формы. По умолчанию: form.
Для вывода формы используется шаблон templates/form/custom_form.html.twig
.
Пример содержания YAML файла:
emailTo: myemai@domain.com
emailSubject: Email from your website
fields:
- { name: name, label: Your name, type: TextType }
- { name: email, label: Your email, type: EmailType }
- { name: content, label: E-mail text, type: TextareaType, attr: { rows: 6 } }
- { name: captcha, label: Captcha, type: CaptchaType }
- { name: submit, label: Submit, type: SubmitType }
Для капчи используется компонент gregwar/captcha-bundle.
Для удобства прикрепления формы к странице можно создать текстовое поле и вводить в него название формы, которую нужно прикрепить к странице. В этом случае в шаблон страницы нужно вставить примерно такой код:
{% if currentPage.form_name is defined and currentPage.form_name is not empty -%}
{{ renderForm(currentPage.form_name, 'form/bootstrap_4_horizontal_layout.html.twig') }}
{% endif %}
{% include 'flash_messages.html.twig' %}
Здесь form_name
- это имя поля с названием формы.