2012-10-28 2 views
3

양식에 체크 박스의 동적 목록을 표시하고 싶습니다.Symfony 2에서 ChoiceListInterface를 사용하는 방법은 무엇입니까?

지금까지 정적 인 체크 박스 목록을 포함하는 양식을 만들었고 다른 값으로 다른 태그 엔티티를 만들고 데이터베이스에 채웠습니다. 정적 태그를 태그 엔티티를 기반으로하는 동적 목록으로 바꾸고 싶습니다.

documentation에는 ChoiceListInterface를 사용해야한다고 나와 있습니다. 그러나 실제로 문서화가 잘되어 있지 않습니다. 나에게 도움이되는 모범적 인 논리 설명이 있습니까?

답변

2

LazyChoiceList 추상 클래스를 확장하고 loadChoiceList() 메서드를 구현하고, 서비스를 만들고, 양식에 삽입하고 choice_list 옵션으로 설정할 수 있습니다. 난 그냥 올바른 언어를 선택하기 위해 사용자의 현재 로케일에 의해 '엉'값을 교체해야합니다, 그리고

->add('tags', 'entity', array(
      'class' => 'bndMyBundle:Tag', 
      'query_builder' => function(EntityRepository $er){ 
       return $er->createQueryBuilder('t') 
         ->orderBy('t.en', 'ASC'); 
      }, 
      'expanded' => true, 
      'multiple' => true, 
      'property' => 'en', 
     )) 

:

+0

감사합니다. 그러나 구현하기가 어렵습니다. Google에서이 예제를 찾지 못했습니다. ( – Yako

+2

@Yako 매우 쉽습니다. http://stackoverflow.com/questions/13313415/symfony2-populate-choice-list-from-api-data :) – Tek

1

마지막으로, 나는 엔티티 필드 형식을 사용했다.

+1

안녕하세요,이 대답은 질문을 전혀 다루지 않습니다. 받아 들여지지 않아야합니다. @ m2mdas의 질문은 질문을 해결합니다. 그의 대답은 너무 짧을 수도 있지만 질문과 관련이 있습니다. 나는 당신이 그것을 받아 들일 수없고 m2mdas의 대답을 받아들이거나 어떤 것도 받아들이지 않고 더 나은 설명을 기다려야한다고 생각합니다. (좋은 의도로 내 옆에 메모) – bostaf

+0

예, 당신 말이 맞아. 댓글 주셔서 감사합니다. – Yako