2015-08-15 3 views
2

У меня есть панель поиска (базовая форма с ключевым словом), теперь мне нужно показать эту форму на всех страницах, как я могу это сделать? Если я создаю действия в контроллере и визуализацииSymfony2/Панель поиска на всех страницах

{{ render(controller('WebPortalBundle:Default:searchForm')) }} 

в :: base.html.twig, форма ничего не представить.

Может ли кто-нибудь посоветовать мне эту проблему?

ответ

2

Symfony создает для него sub-request. Вы должны пройти мастер-объект запроса к этому действию и использовать его для обработки формы:

{{ render(controller('WebPortalBundle:Default:searchForm', {request: app.request})) }} 

и контроллер сделать что-то вроде:

class DefaultController extends Controller 
{ 
    public function searchFormAction(Request $request) 
    { 
     // other code... 
     $form->handleRequest($request); 
    } 
} 
Смежные вопросы