2014-05-15 6 views
0

나는 제대로 작동하는 양식을 가지고 있습니다. 그것은 두 개체 (뉴스와 일러스트레이션)에 데이터를 지속합니다. 사실, 가까운 미래에 사용자가 뉴스에 여러 삽화를 추가 할 수 있습니다. 하지만, 지금이 :) ... Symfony2 - oneToMany에 대한 양식 추가 "0"으로 이상한 렌더링

그래서 나는 이것에 대한 백엔드 준비했습니다 나는 두 FormTypes과 양식을 빌드 formbuilder 호출하는 작업을 실행하면

class NewsType extends AbstractType 
{ 
    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $builder 
      ->add('date', 'date') 
      ->add('titre', 'text') 
      ->add('contenu', 'textarea') 
      ->add('publication', 'checkbox', array('required' => false)) 
      ->add('illustrations', 'collection', array(
       'type' => new IllustrationType(), 
       'allow_add' => false, 
       'required' => false 
      )); 
    } 

    public function getName() 
    { 
     return 'News'; 
    } 
} 

class IllustrationType extends AbstractType 
{ 
    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $builder 
      ->add('file', 'file'); 
    } 

    public function setDefaultOptions(OptionsResolverInterface $resolver) 
    { 
     $resolver->setDefaults(array(
      'data_class' => 'Fcbg\NewsBundle\Entity\Illustration', 
      'cascade_validation' => true, 
     )); 
    } 
    public function getName() 
    { 
     return 'Illustration'; 
    } 
} 

양식 출력 나는 "그림 : 0"왜

screenshot of the strage zero

몇 가지 아이디어 : 그런 뭔가를 렌더링? 당신은 표시 할 얼마나 많은 그림 말하지 않았기 때문에 XD

들으 많은

+0

첫 번째 컬렉션 번호입니다. Symfony 나뭇 가지 구성 요소의 fields.html.twig에서 collection_widget을보고 렌더링을 관리하거나 여러 자바 파일을 추가하여 파일을 여러 개 삽입 할 수 있습니다. –

답변

0

당신이 볼 (1? 2? 0? 100?). 의심의 여지없이 Symfony는 아무 것도 표시하지 않기로 결정했습니다.

어느 쪽이든 당신은 사용자가 (당신은 내가 이해, 아직 싶지 않아 무엇을) 'allow_add' => true,를 설정하여 하나 또는 여러 개의 새로운 그림을 만들 수 있습니다, 또는 수동으로 NewsController.php 하나 (또는 ​​여러) Illustration을 만들 :

public function addAction() 
{ 
     $news = new News(); 

     $Illustration = new Illustration(); 
     $news->addIllustration($illustration); 

     // create your form and display it 
} 
+0

내가 무슨 뜻인지 이해했다고 생각하지만 정보를 숨길 수는 없습니다. by javascript hum : D) – MPE

+0

오, 나는 당신이 오직 하나만 갖고 싶다고 생각했습니다. 아무 것도보고 싶지 않고 미래의 진화를 위해 코드를 준비하고 싶다면'-> add ('삽화', 'collection', [..]'줄을 주석 처리하십시오! – Blacksad