2011-10-18 5 views
1

다음과 같은 요소로 하위 폼을 생성 할 수있는 젠드 양식을 만들었습니다. items [0] [price], items [0] [count]; items [1] [price] etc. 테이블의 각 행마다 특정 데이터를 표시해야합니다. 그래서, 내보기에서 나는 html 테이블을 만들고 '항목'을 반복하고 테이블의 특정 열에 특정 양식 요소를 삽입하려고했습니다. 내가 기대 한대로 그 이후젠드 양식을 가진 다차원 배열 게시

<table> 
<?php foreach($this->form->getSubform('items') as $item) :?> 
    <tr> 
    <td>just some data like product name</td> 
    <td><?php echo $item->getElement('price');?></td> 
    <td><?php echo $item->getElement('count');?></td> 
    </tr> 
<?php endforeach;?> 
</table> 

는 각 양식 요소 항목은 더 이상 배열 이름이없는, 그러나 다만 '항목'또는 각 행의 '수', 같은 다차원 배열은 반환되지 않습니다.

보기 (echo $this->form;)에서 양식을 생성하면 양식 요소 이름은 괜찮지 만 테이블에 몇 가지 데이터를 추가해야합니까? 바람직하게는 시야에서 이루어져야한다.

답변

1

항상 가격과 개수가있는 요소를 추가하는 대신 dinamically 필드를 생성하므로 price1, count1, price2, count2 등으로 이름을 지정하십시오. 그런 다음 새 이름을 사용하여 테이블에서 검색 할 수 있습니다 (개수가 추가됨).

0

폼 데코레이터 스택 앞에 PrepareElements 데코레이터를 추가하십시오. 이 데코레이터는 폼을 순환하여 적절한 belongsTo 이름을 설정합니다.