1

Zend Form を使用してモデルに取り組んでいます。$product_item というサブフォームがあります。$items という別のサブフォームに複数のインスタンスを追加したいと考えています。どうすればそれを行うことができますか?Zend リファレンス ガイドが特に役立つとは思いません。

4

1 に答える 1

3

サブフォームにサブフォームを追加するだけです:-

$form = new Application_Form_Test();
$subForm1 = new Application_Form_TestSubForm();
$subForm2 = new Application_Form_TestSubForm();
$subForm1->addSubForm($subForm2, 'sub2');
$form->addSubForm($subForm1, 'sub1');
$this->view->form = $form;

送信時に、サブフォームの値は配列内の配列で利用可能になります$_POST$value=$_POST['sub1']['sub2']['name']例えば。

http://framework.zend.com/manual/en/zend.form.forms.html#zend.form.forms.subforms

サブフォームの要素を印刷またはアクセスするには、いくつかのオプションがあります:-

このように宣言された要素がある場合$subForm1:-

$email = new Zend_Form_Element_Text('email');

次に、emailフィールドは次のようにビューにレンダリングできます。

<?php echo $this->element->sub1->email; ?>

要素は、宣言に使用する変数ではなく、名前で参照されることに注意してください。

また、$this->elementは のインスタンスを参照しているZend_Formので、これらのメソッドをすべて利用できることを忘れないでください。つまり、これを行うことができます:-

<?php
    $form = $this->element;
    $formElements = $form->getElements();
?>
于 2011-12-10T03:52:48.367 に答える