2012-02-26 2 views
0

OK, 이것은 다소 어색한 문제입니다.Symfony2가 컬렉션 폼 데이터 프로토 타입을 렌더링하지 않습니다.

form_rest(form) 
form_widget(form.subform.get('prototype')) 

문제는 : 나는 심포니 년 이후 collection 양식 유형을 사용하고 난 나뭇 가지 템플릿이 중 하나를 호출 할 때 나는 그것이 프로토 타입을 인쇄 기대

'prototype' => true, 
'allow_add' => true 

와 함께 구성 그 심포니는 컬렉션에 적어도 하나의 요소가 포함되어 있다면 그 프로토 타입을 으로 출력합니다.

내가 알지 못하거나 뭔가를 놓치고있는 버그입니까?

어떤 아이디어라도 대단히 감사하겠습니다! 감사합니다.

답변

2

최신 안정적이고 프로토 타입은 여전히 ​​이상한 행동 : 아이템 그것은 그렇지 않으면 프로토 타입을 순수한 HTML 렌더링 것 <div data-prototype="...."></div>

  • 렌더링 (하지 않을 존재하지 않는 경우

    • DIV 년대로 위의 속성을 참조하십시오.)

    즉석 솔루션이 없기 때문에 나는 내 JS에서 IF - ELSE을 수행해야했습니다. 즉, JS는 먼저 data-prototype 요소를 확인하고 존재하지 않으면 다른 요소로 넘어갑니다.

    마자 바람직하지 않은 것으로 판명 내가 만약 버그로보고, (나는 그것을 의심으로),이 동작을 연구 할 것이다 여분의 시간 ...

  • 0

    이것이 버그인지는 모르겠지만 적어도 하나 이상의 요소가 포함되어 있지 않으면 컬렉션에 양식을 인쇄 할 필요가 없다고 생각합니다. 컬렉션을 만드는 경우 더미 요소를 만들어 컬렉션에 추가해야합니다. 이것은 자동으로 수행되지 않습니다. 나는 그것에 심포니를 업데이트 한

    +0

    처음부터 개체를 만들려면 jQuery를 사용하여 모든 필드를 만들 수 있어야합니다. 더미 객체를 콜렉션에 삽입 할 수는 있지만, 빠른 'n'더티 플레이와 같은 것 같습니다. –

    +1

    그런 다음 CollectionType.php 줄 27 및 디버그에서 중단 점을 설정할 수 있습니다. 나는 왜 요소가 필요한지 이해하지 못한다. – greg0ire

    +0

    좋아, 내가 조금 실수 한 것 같다. 프로토 타입이 렌더링되는 두 경우 모두, 나는 즉시 그것을 발견 할 수 없었지만,이 두 프로토 타입은 여러면에서 다르다. 하나의 JS 코드를 사용하여 새 항목을 추가 할 수있는 단일,보다 일관성있는 프로토 타입을 렌더링하는 방법을 계속 찾고 있습니다. –

    0

    경우]를 가지고 양식 데이터가 비어있는 경우 양식의 복제본을 만들어 더미 개체로 채울 수 있습니다. 이 클론을 사용하여 프로토 타입을 생성하십시오.

    관련 문제