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