내 연구는 Symfony 2 폼 콜렉션을 테마로하는 다양한 방법을 발견했지만, 지금까지 여러 개의 중첩 된 폼의 form_rows를 구별 할 수있는 방법을 발견하지 못했습니다. 그것들을 다르게 표시하도록하십시오.Symfony 2에서 콜렉션 테마, 중첩 된 폼의 각 레벨에 따라 다릅니다.
나는 3 중첩 된 폼을 가지고 있는데, 컬렉션의 여러 (DB 지원) 섹션을 포함하는 최상위 Main으로 구성되며 각 섹션에는 컬렉션에 여러 DB 관련 질문이 들어 있습니다. DIV를 사용하여 섹션의 레이아웃을 제어하고 싶지만 테이블을 사용하여 각 질문 세트의 레이아웃을 제어하고 싶습니다.
<div id="main">
<div id="section1">
<table>
<tr>Question 1</tr>
<tr>Question 2</tr>
</table>
</div>
<div id="section2">
<table>
<tr>Question 3</tr>
<tr>Question 4</tr>
</table>
</div>
</div>
나는 하나의 전체 양식을 위해, 내가 행을 렌더링 할 form_row 기능에 의해 사용되는 템플릿 조각을 변경하는 방법을 이해하고, 그러나 여기에서 나는 열 적어도 두 가지 유형을 원한다. 두 가지 다른 템플릿 조각을 사용하여 두 가지 방법으로 작동하는 자신 만의 form_row 함수를 만들 수 있다고 생각하지 않습니다.
한 레벨의 필드를 다른 레벨과 완전히 다르게 렌더링하려면 어떻게해야합니까?
CSS 스타일링을 사용해 보셨습니까? 선택자를': first' 또는': nth-child (2)'로 두 섹션에 규칙을 적용 할 수 있습니다. –
당신은 여전히 테마를 사용할 것입니다. 중첩 된 콜렉션을 렌더링하는 섹션에서 현재 요소가 얼마나 깊은 지 확인할 필요가 있습니다. 내 생각 엔 현재 요소의 부모에 대한 재귀 확인을 수행하는 것이고, 부모가없는 경우에는 최상위 레벨에 있고, 1이면 두 번째 레벨에 있고 두 번째 부모는 세 번째에 있고 등등. – Chausser
@ n.1 감사합니다. CSS를 사용하는 것이 한 가지 방법 일 수 있다는 점에 동의합니다. 가능한 한 Symfony 테마를 사용하고 싶습니다. (이 영역의 다른 대부분의 작업에서와 같이) – frumious