Zend framework2 Zend 2-覆盖Zend/Form/View/Helper/FormMultiCheckbox.php

Zend framework2 Zend 2-覆盖Zend/Form/View/Helper/FormMultiCheckbox.php,zend-framework2,Zend Framework2,我已经在这里和Google上找到了一些答案,但我无法覆盖FormMultiCheckbox帮助程序中的renderOptions和setLabelPosition函数 我创建了一个新的FormMultiCheckbox.php,并将其保存在我的Application/Form/View/Helper文件夹中,在此文件中我重新定义了renderopions和setlabelposition函数 然后在Modue.php中,我在getViewHelperConfig函数中添加了以下行: 'invok

我已经在这里和Google上找到了一些答案,但我无法覆盖FormMultiCheckbox帮助程序中的renderOptions和setLabelPosition函数

我创建了一个新的FormMultiCheckbox.php,并将其保存在我的Application/Form/View/Helper文件夹中,在此文件中我重新定义了renderopions和setlabelposition函数

然后在Modue.php中,我在getViewHelperConfig函数中添加了以下行:

'invokables' => array(
    'formmulticheckbox' => 'Application\Form\View\Helper\FormMultiCheckbox'
        ),
在我看来,我正在使用以下行将输入添加到屏幕:

echo $this->formRadio($about_you_form->get('user_gender'), 'block')
其中block是我创建的元素的新布局

我基本上是想让元素先输出输入,然后输出标签,而不是将所有内容都放在标签标签中

我在这篇文章()中尝试了两种答案,但我得到了错误消息:

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"
这将向我表明,它没有拾取我的新渲染或setLabelPosition,因为后者中的错误消息已更改

非常感谢任何帮助或指点

问候,


Sean

Zend\Form\View\Helper\FormRadio
扩展了
Zend\Form\View\Helper\FormMultiCheckbox

向视图帮助器管理器提供自定义multicheckbox帮助器不会改变这一点


您必须创建一个自定义的
FormRadio
帮助程序,并让它扩展您的自定义
FormMultCheckbox
类,然后在配置中覆盖
FormRadio
帮助程序,就像您使用
formmulticheckbox

一样,非常感谢!我知道我做错了什么,现在说得通了。