Symfony 1.4를 사용하여 주어진 테이블의 모든 행을 동시에 편집 할 수있는 양식을 만들고 있습니다. 이렇게하려면 포함 된 양식을 사용했습니다. 내 솔루션이 작동하지만 내 포함 된 양식에 래퍼를 사용해야하는 이유가 궁금합니다. 나는 setNameFormat의 매개 변수가 추한 종료되는 것을 발견Symfony 1.4의 임베디드 폼 : 왜 래퍼를 사용해야합니까?
class FooCollectionForm extends BaseForm
{
public function configure()
{
$wrapperForm = new sfForm();
foreach ($this->getOption('bar') as $bar)
{
$form = new myForm();
$form->widgetSchema->setNameFormat('foo_collection['.$bar['label'] . '][%s]');
$wrapperForm->embedForm($bar['label'], $form);
}
$this->embedForm('foo_collection', $wrapperForm);
}
}
하지만 그것이 작동하는 방식 인 것 같습니다 :
여기 내 코드입니다. 그것에 동의 하시겠습니까? 아니면 더 나은 해결책이 있습니까? '난 아직도 왜 내가 할 수있는 이해가 안 다시 나는이 추하다는 점을 발견하고
<?php foreach ($form->getEmbeddedForm('foo_collection')->getEmbeddedForm() as $subForm): ?>
<?php include_partial('form', array('form' => $subForm)) ?>
<?php endforeach; ?>
: 내가 수동으로 여기 내 양식의 레이아웃을 짓고 있어요
내가 내 모든 필드를 표시하는 데 사용할해야하는 루프 래퍼 양식을 사용하지 않고 $form->getEmbeddedForm()
을 수행하십시오.
<?php foreach ($form->getEmbeddedForms() as $subForm): ?>
.