Встраивание формы

Встраивание формы

🔌 Встраивание формы в любую страницу

Функция render_form() позволяет вставить форму куда угодно — не только на отдельную страницу.


Базовый вызов

{{ render_form('contacts') }}

Где contacts — имя таблицы (из колонки name в таблице forms).


С параметрами

{{ render_form('orders', {
    submit_text: 'Заказать',
    form_class: 'order-form',
    consent_enabled: true
}) }}
Параметр По умолчанию Описание
submit_text Отправить Текст на кнопке
form_class — CSS-класс на <form>
field_class — CSS-класс на полях
consent_enabled false Показать чекбокс ПД
template из form_config Переопределить шаблон

Пример: форма в футере

{# в base.html.twig #}
<footer>
  <div class="footer-form">
    <h3>Остались вопросы?</h3>
    {{ render_form('contacts', {submit_text: 'Спросить'}) }}
  </div>
</footer>

Отличие от страницы-формы

page_type = 'form' render_form()
Отдельный URL ✅ /contact ❌ встраивается
Настройки form_config в JSON параметры в вызове
Валидация ✅ ✅
Уведомления ✅ ✅

Оба способа используют одну и ту же таблицу и FormRenderer.