Php 一旦表单对象已经创建,如何在特定位置添加zend表单元素?

Php 一旦表单对象已经创建,如何在特定位置添加zend表单元素?,php,zend-framework,zend-form,zend-form-element,Php,Zend Framework,Zend Form,Zend Form Element,我已经创建了一个扩展zend表单的user_表单类,它有4个元素:用户名、密码、csrf的哈希和最后的提交按钮 创建user_form的对象将呈现所有这四个元素 在控制器操作中验证登录后,我检查失败尝试,并在确定失败尝试次数后,我想在提交按钮之前添加zend captch 我添加了captcha元素,它被附加在提交按钮之后 如何在特定位置添加zend元素?或者如何在提交按钮之前添加它 也让我知道我的做法是正确的? 等待你的答复。 谢谢……从一开始就给出您的元件订单号。添加订单号时,将其添加到ca

我已经创建了一个扩展zend表单的user_表单类,它有4个元素:用户名、密码、csrf的哈希和最后的提交按钮

创建user_form的对象将呈现所有这四个元素

在控制器操作中验证登录后,我检查失败尝试,并在确定失败尝试次数后,我想在提交按钮之前添加zend captch

我添加了captcha元素,它被附加在提交按钮之后

如何在特定位置添加zend元素?或者如何在提交按钮之前添加它

也让我知道我的做法是正确的? 等待你的答复。
谢谢……

从一开始就给出您的元件订单号。添加订单号时,将其添加到captcha元素中

$element->setOrder(10);


另请参见。

您可以使用markus所说的
setOrder()
,或者在viewscript中呈现表单时,可以分别呈现每个字段:

// .phtml
<form id="form" action="<?= $this->escape($this->form->getAction()); ?>" method="<?= $this->escape($this->form->getMethod()); ?>">
<table>
  <?= $this->form->username ?>
  <?= $this->form->password ?>
  <?= $this->form->hash ?>
  <?= $this->form->captcha ?>
  <?= $this->form->submit ?>
</table>
</form>
/.phtml

我不知道。删除了我的答案。链接已失效:(但我现在正在使用ZF2
// .phtml
<form id="form" action="<?= $this->escape($this->form->getAction()); ?>" method="<?= $this->escape($this->form->getMethod()); ?>">
<table>
  <?= $this->form->username ?>
  <?= $this->form->password ?>
  <?= $this->form->hash ?>
  <?= $this->form->captcha ?>
  <?= $this->form->submit ?>
</table>
</form>