Zend framework2 如何在Zend Framework 2中设置复选框/单选按钮的位置?

Zend framework2 如何在Zend Framework 2中设置复选框/单选按钮的位置?,zend-framework2,zend-form,zend-form-element,zend-form2,Zend Framework2,Zend Form,Zend Form Element,Zend Form2,我试过这样做: <?php echo $this->formRow($form->get('weekday'), Zend\Form\View\Helper\FormRow::LABEL_PREPEND); ?> 但这些标签仍然保留在复选框后面 如何正确设置标签位置?工作日是否为多复选框?如果是这样,请使用渲染方法formMultiCheckbox而不是formRow,标签将放置在您想要的位置 我一直在调试这个过程,这是一种奇怪的行为。调用类Zend/Form/V

我试过这样做:

<?php
echo $this->formRow($form->get('weekday'), Zend\Form\View\Helper\FormRow::LABEL_PREPEND);
?>

但这些标签仍然保留在复选框后面


如何正确设置标签位置?

工作日是否为多复选框?如果是这样,请使用渲染方法formMultiCheckbox而不是formRow,标签将放置在您想要的位置

我一直在调试这个过程,这是一种奇怪的行为。调用类Zend/Form/View/Helper/FormRow时,标签的位置将按预期初始化(label\u PREPEND

稍后,会调用类Zend/Form/View/Helper/FormMultiCheckbox,但它不会从FormRow继承位置,而是使用其默认值,即您不想要的值,LABEL\u APPEND


检查两个类上的\u invoke方法,您将看到。

您可以尝试在
工作日
-element:)上设置
选项{label\u position='append'}
这可能已经解决了问题,但我不太确定,如果不是的话,我还有一个更长的解决方案:需要指出的是,
需要手动渲染,因为
FormMultiCheckbox
只渲染了复选框。这就是为什么我要求进行上面的另一次尝试,将label_position设置为元素的一个选项,这将解决问题;)谢谢你的回复!现在可以了!这种行为并不奇怪。无线电/多检查盒中有两种类型的标签:整套标签和每个元素的标签:
type_1type_2type_2
(在ZF中,
type_2
默认情况下不会获得
label
标签)。我认为很好,
type_1
(整个复选框集)的标签位置不是从每个复选框(
type_2
)继承的。另一个问题是:如何设置两者?既然不能将
formRow(…)
formMultiCheckbox(…)
嵌套在一起…@automatix您是否尝试过设置
label\u position
选项?我昨天写的是错误的。无论如何,我现在无法重现这种行为
$this->formMultiCheckbox($form->get('weekday'),formMultiCheckbox::LABEL_PREPEND)
实际上在复选框之前设置标签文本。