2012-06-01 3 views
2

На самом деле, я пытаюсь создать форму на среднем объекте, и я хочу отображать много ввода для одного и того же объекта (цвет проекта и название проекта). Я также смогу создать объект проекта.Как отобразить несколько информации другого объекта в той же форме?

# MyNiceBundle/Form/Type/CollaborationType.php 

public function buildForm(FormBuilder $builder, array $options) 
{ 
    $builder->add('project', 'entity', array(
     'class' => 'MyNiceBundle:Project', 
     'property' => 'name' 
    )); 
    $builder->add('project', 'entity', array(
     'class' => 'MyNiceBundle:Project', 
     'property' => 'color' 
    )); 
    $builder->add('participant', 'entity', array(
     'class' => 'MyNiceBundle:User', 
     'property' => 'email', 
     'multiple' => true, 
     'expanded' => true 
    )); 
    $builder->add('workgroup', 'entity', array(
     'class' => 'MyNiceBundle:Workgroup', 
     'property' => 'name', 
     'multiple' => false, 
     'expanded' => true 
    )); 
} 


# Resources/Views/project_form.html.twig 

<form id="project-creation" class="form" action="{{ path('nicebundle_project_create') }}" method="post"> 
    {{ form_errors(form) }} 
    <div class="project"> 
    # Here I want to show the input for project name 
    {{ form_errors(form.project) }} 
    {{ form_widget(form.project) }} 
    </div> 

    <div id="navigation-panel"> 
     # Here I want to show the input for project color 
     {{ form_errors(form.project) }} 
     {{ form_widget(form.project) }} 

     {{ form_errors(form.participant) }} 
     {{ form_widget(form.workgroup) }} 
     {{ form_widget(form._token) }} 
     <input class="btn" type="reset" value="reset" /> 
     <input class="btn" type="submit" value="submit" /> 
    </div> 
</form> 

Что мне делать?

Заранее спасибо.

ответ

0

Я прошел ProjectType в CollaborationType подобное:

# MyNiceBundle/Form/Type/CollaborationType.php 
public function buildForm(FormBuilder $builder, array $options) 
{ 
    $builder->add('project', new ProjectType()); 
    $builder->add('participant', 'entity', array(
     'class' => 'BtaskUserBundle:User', 
     'property' => 'email', 
     'multiple' => false, 
     'expanded' => true 
    )); 
    $builder->add('workgroup', 'entity', array(
     'class' => 'BtaskBoardBundle:Workgroup', 
     'property' => 'name', 
     'multiple' => false, 
     'expanded' => true 
    )); 
} 

# Resources/Views/project_form.html.twig 
<form id="workgroup-form-create" class="form" action="{{ path('MyNiceBundle_project_create') }}" method="post" {{ form_enctype(form) }}> 
    {{ form_errors(form) }} 
    <div class="project"> 
    {{ form_errors(form.project) }} 
    {{ form_widget(form.project) }} 
    </div> 

    <div id="navigation-panel"> 
     {{ form_errors(form.project) }} 
     {{ form_widget(form.project) }} 

     {{ form_errors(form.participant) }} 
     {{ form_widget(form.participant) }} 

     {{ form_errors(form.workgroup) }} 
     {{ form_widget(form.workgroup) }} 

     {{ form_widget(form._token) }} 
     <input class="btn" type="reset" value="reset" /> 
     <input class="btn" type="submit" value="submit" /> 
    </div> 
</form> 
Смежные вопросы