2015-06-14 5 views
1

Мне нужно создать каждую из кнопок с помощью Symfony form builder.Формирователь формы для Symfony/Twig

Это моя часть моей createFormBuilder:

->add('categoryId', 'entity', array(
       'class' => 'MyBundle:Category', 
       'property' => 'name', 
       'required' => false, 
       'expanded' => true)) 

И в моем шаблоне веточку:

{% for child in form.categoryId %} 
    <div class="radio i-checks col-md-3"> 
     <label>{{ form_widget(child, {'attr': { 'class': '', 'value': '' } }) }} </label> 
    </div> 
{% endfor %} 

Как можно отобразить название категории (теперь я получаю пустые значения)?

Когда я использую child.get('name'), я получаю эту ошибку

метод "получить" для объекта "Symfony \ Component \ Form \ FormView" не существует в ...

ответ

0

Я решил эту проблему путем редактирования,

Контроллер илит:

->add('categoryId', 'entity', array( 'class' => 'MyBundle:Category', 'property' => 'name', 'expanded' => true, 'multiple' => false, 'choices' => $this->getDoctrine() ->getRepository('MyBundle:Category') ->findAll(), 'required' => true, ))

И в моей галерее веточку:

<div class="row"> {% for child in form.categoryId %} <div class="radio i-checks col-md-3"> <label>{{ form_widget(child, {'attr': { 'class': 'required', 'value': child.vars.value } }) }} {{ child.vars.label }} </label> </div> {% endfor %} </div>

Я надеюсь, что это поможет кому-то. Привет.

0

I догадываюсь

child.name 

(И я не мог отправить этот ответ, не вводя по крайней мере 30 символов)

+0

Я пробовал это, но получаю ошибку 'Method" name "для объекта" Symfony \ Component \ Form \ FormView "не существует в MyBundle :: add.html.twig' – Gemmi