2014-10-15 1 views
0

Symfony2에 양식집이 있습니다. 나는 일부 특정 사업부 구조와 그 형태이 같은 스타일을해야합니다 당신이 볼 수 있듯이Symfony2 양식 프로토 타입 작성 방법

<div class="block" style="clear: both;"> 
    {{ form_row(form.name) }} 
    {{ form_row(form.address) }} 
</div> 
<div class="block"> 
    {{ form_row(form.website) }} 
    {{ form_row(form.email) }} 
</div> 
<div> 
<div> 
    {{ form_row(form.text1) }} 
</div> 
</div> 

는, 구조가 정기적으로하지 않습니다을 나는 방법에 대한 {%에 스타일을 생각이없는 {% block collection_widget %}에서 % % 행의 행을 반복하십시오. 모든 아이디어를 어떻게 스타일 수/폼 프로토 타입을 빌드 할 수 있도록 양식을 자바 스크립트로 추가 한 정확히 원하는 것입니다?

+0

가지고 계신 양식 프로토 타입의 내용을 게시 한 HTML이 있습니까? –

+0

다소 많지만 예. 이것은 프로토 타입에 넣고 자하는 코드의 일부입니다. – JayKey

답변

2

양식에 대해 별도의 나뭇 가지 템플릿을하는 것입니다 그와 같은 형태로/프로토 통과 ..

_form.html.twig

<div class="block" style="clear: both;"> 
    {{ form_row(form.name) }} 
    {{ form_row(form.address) }} 
</div> 
<div class="block"> 
    {{ form_row(form.website) }} 
    {{ form_row(form.email) }} 
</div> 
<div> 
    <div> 
     {{ form_row(form.text1) }} 
    </div> 
</div> 

UPD ate.html.twig는

<ul data-prototype="{{ include('_form.html.twig', 
           {'form': form.items.vars.prototype })|e }}"> 
    {% for item in form.items %} 
     <li>{{ include('_form.html.twig', {'form': item }) }}</li> 
    {% endfor %} 
</ul> 

이 만 일이 변경 될 때 하나의 템플릿을 업데이트 할 필요가 있다는 것을 의미, 당신은 당신이 당신의 실제 양식 항목에 사용하는 동일한 템플릿으로 양식 항목 프로토 타입을 전달 할 수 있습니다 .

0

당신은 {% 블록 collection_widget의 %} 확장하지 않고, 나뭇 가지 루프에 대한 간단한 함께 할 수 : 내가 가장 좋은 방법을 발견했습니다

{% for counter in form.MyCollection %} 
<div class="block" style="clear: both;"> 
    {{ form_row(form.MyCollection[loop.index0].name) }} 
    {{ form_row(form.MyCollection[loop.index0].address) }} 
</div> 
<div class="block"> 
    {{ form_row(form.MyCollection[loop.index0].website) }} 
    {{ form_row(form.MyCollection[loop.index0].email) }} 
</div> 
<div> 
<div> 
    {{ form_row(form.MyCollection[loop.index0].text1) }} 
</div> 
</div> 
{% endfor %} 
+0

왜 loop.index [0]입니까? 또한이 코드를 어디에 넣어야합니까? – JayKey

+0

좋아, 나는 그것을 시도하고 그것을 이해합니다. 더 이상의 설명 필요 없음 :) – JayKey