我忙于处理Zend_Form对象。
我正在构建一个用于创建新发票的表单。
正如您在上面的图片中所看到的,它是一个在页面上和HTML代码中的不同位置具有多个不同输入字段的表单。
通常你会使用装饰器来做这件事,但我不认为这是一个偏好的情况。
插入新HTML的按钮会创建具有相同名称但末尾带有[NUMBER]的新输入字段(创建数组)。
我认为最好只在视图脚本中手动添加字段(伪代码:echo Zend_Form_Text_Element-> toHtml(); ..
有人可以给我建议如何让它正常工作吗?
答案 0 :(得分:2)
您应该使用视图脚本装饰器。这是一个很好的link。
向下滚动到显示的部分:示例:使用ViewScript装饰器进行完全自定义
以下是使用视图脚本构建的示例表单:
<h4>Please register with us!</h4>
<form action="<?= $this->escape($this->form->getAction() ?>"
method="<?= $this->escape($this->form->getMethod() ?>">
<fieldset>
<legend>Demographics</legend>
<p>
Please provide us the following information so we can know more about
you.
</p>
<?= $this->form->age ?>
<?= $this->form->nationality ?>
<?= $this->form->income ?>
</fieldset>
<fieldset>
<legend>User Information</legend>
<p>
Now please tell us who you are and how to contact you.
</p>
<?= $this->form->firstname ?>
<?= $this->form->lastname ?>
<?= $this->form->email ?>
<?= $this->form->address1 ?>
<?= $this->form->address2 ?>
<?= $this->form->city ?>
<?= $this->form->state ?>
<?= $this->form->postal ?>
<?= $this->form->phone ?>
</fieldset>
<?= $this->form->submit ?>
</form>
这样你就可以完全控制表格的html,你不需要受到装饰者的痛苦:D