我在这里和我在Google上可以找到的内容上都有一些答案,但是我无法覆盖FormMultiCheckbox助手中的renderOptions和setLabelPosition函数。
我创建了一个新的FormMultiCheckbox.php并将其保存在我的Application / Form / View / Helper文件夹中,在这个文件中我重新定义了renderOptions和setLabelPostion函数。
然后在Modue.php中我将以下行添加到getViewHelperConfig函数中:
'invokables' => array(
'formmulticheckbox' => 'Application\Form\View\Helper\FormMultiCheckbox'
),
在我看来,我正在使用以下行将输入添加到屏幕:
echo $this->formRadio($about_you_form->get('user_gender'), 'block')
其中block是我创建的元素的新布局。
我基本上试图让元素首先输出输入然后输出标签,而不是将所有内容都放在标签标签内。
我在这篇文章(How to use a custom form view helper in Zend Framework 2?)上尝试了两个答案,但我收到了错误消息:
Zend\Form\View\Helper\FormMultiCheckbox::setLabelPosition expects either Zend\Form\View\Helper\FormMultiCheckbox::LABEL_APPEND or Zend\Form\View\Helper\FormMultiCheckbox::LABEL_PREPEND; received "block"
我建议不要选择我的新renderOptions或setLabelPosition,因为后者的错误信息已被更改。
非常感谢任何帮助或指示。
此致
肖恩
答案 0 :(得分:0)
Zend\Form\View\Helper\FormRadio
延伸Zend\Form\View\Helper\FormMultiCheckbox
您向视图帮助程序管理器提供自定义多检查框帮助程序不会更改它。
您必须创建一个自定义FormRadio
帮助程序,然后扩展自定义FormMultCheckbox
类,然后覆盖配置中的formradio
帮助程序,就像使用formmulticheckbox