2016-03-09 2 views
0

Я работаю над пользовательским контроллером/функцией в панели управления symphony2/sonata. Я хочу, чтобы сделать файл с помощью:Rendering Sonata Admin Twig Files Переменная форма не найдена

return $this->render('SonataAdminBundle:CRUD:base_list.html.twig', array('entities' => $entities)); 

Я получаю ошибку

Variable "form" does not exist in SonataAdminBundle:CRUD:base_list.html.twig 

Hers линии в веточке:

<td class="filter-type">{{ form_widget(form.getChild(filter.formName).getChild('type')) }}</td> 

Спасибо.

ответ

1

Я думаю, вы знаете, что вам нужно передать форму на вид.
Так что, я думаю, у вас нет формы.

Вам необходимо работать в контроллере соответствующего класса admin (sonata), чтобы отобразить форму Datagrid. В противном случае вам нужно переписать всю логику.

Включает в себя все формы построения/обработки с использованием (или нет) DatagridMapper.

Следует помнить, что формы и списки представляют собой основные компоненты sonata-admin (одинаковые для каждой панели администратора), и хотя они основаны на формах symfony, они представляют собой полностью настроенное поведение.

Итак, для использования сонаты вам нужно быть в контексте сонаты. (В данном случае, одного из их действий CRUD)

1

Вам также необходимо передать вид формы для рендеринга.

return $this->render('SonataAdminBundle:CRUD:base_list.html.twig', array('entities' => $entities, 'form' => $form->createView()));