Symfony 2 — форма включена во все представления и обрабатывается одним контроллером

Я использую Symfony 2 и у меня небольшая проблема с вложенной формой.

Ситуация :

MyBundle / Resources / views / Portions / footer.html.twig представление, которое включено в MyBundle / Resources / views / layout, и, конечно, layout.twig.html расширяется всеми представлениями комплекта. Whish означает, что footer.html.twig отображается на всех страницах.

Вопрос / проблема:

Я хочу встроить форму информационного бюллетеня (один вход) в footer.html.twig, который будет обрабатываться одним контроллером (проверка данных, вставка базы данных и отправка электронной почты), а затем возвращаться на ту же страницу.

Какое оптимизированное решение для этого?

Спасибо.

0

Решение

простой способ сделать это (не лучший способ)

Это просто определить службу как глобальную ветку, чтобы вы могли постоянно иметь доступ к своей форме.

# Twig Configuration
twig:
...
globals:
myGlobaService: "@acme.newsletter_service"

Еще один простой способ сделать это — просто использовать тег визуализации twig, чтобы включить все действие контроллера, которое отображает шаблон.

{{ render(controller('AcmeNewsLetterBundle:Default:renderNewsletterForm', {})) }}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector