Zend framework2 在Zf2中使用formRow视图辅助对象在输入前显示标签

Zend framework2 在Zf2中使用formRow视图辅助对象在输入前显示标签,zend-framework2,zend-form,zend-view,Zend Framework2,Zend Form,Zend View,在Zend Framework 2.1.4中,我使用标准的表单视图帮助程序渲染表单元素 当我尝试时: <?php echo $this->formRow($form->get('Title'));?> 它生成我想要的html: <label for="Title">Title</label> <input type="text" name="Title" placeholder="Insert Title" required="requir

在Zend Framework 2.1.4中,我使用标准的表单视图帮助程序渲染表单元素

当我尝试时:

<?php echo $this->formRow($form->get('Title'));?>
它生成我想要的html:

<label for="Title">Title</label>
<input type="text" name="Title" placeholder="Insert Title" required="required" value="">
标题

如何使用formRow视图帮助程序实现同样的功能?

首先,您必须查看源代码以了解formRow的工作原理:

在这段代码中,您将看到uu invoke有$labelPosition参数,您可以使用const LABEL_append和LABEL_prepend对其进行前置或追加

简言之,试着这样做:

$this->formRorw($form->get('element'), 'prepend'); // Or append as you want

如果表单元素没有“id”属性,则标签将包装输入:

<label>Label<input /></label>
标签
否则:

<label for="test">Label</label><input id="test" />
标签
查看(zf2版本2.25开发版):

\Zend\Form\View\Helper\FormRow

如果没有为表单元素提供id,默认的一般行为是将输入元素放置在其相应的标签元素中

formRow视图帮助器的第二个参数将在文档流中的输入元素之前(前置)或之后(追加)放置标签文本。(默认设置是将其放在前面。)


有关详细信息,请查看渲染方法。

比尔,谢谢。用以前教过的语言说话是很困难的。它不会将元素扔到标签标签外,只会将元素放在标签文本之前或标签文本之后,但在所有情况下:在标签标签内
$this->formRorw($form->get('element'), 'prepend'); // Or append as you want
<label>Label<input /></label>
<label for="test">Label</label><input id="test" />