ZF2:扩展表单视图助手并使其从视图中可用

时间:2014-03-27 14:22:18

标签: zend-framework2

我需要渲染这样的Multicheck选项:

<input type="checkbox" name="avoid_transport[voiture]" value="1">
<input type="checkbox" name="avoid_transport[plane]" value="1">
...

但我实现了渲染:

 <input type="checkbox" name="avoid_transport[]" value="voiture">
 <input type="checkbox" name="avoid_transport[]" value="plane">

在欣赏指南之后,我需要创建一个扩展Multicheck View Helper的自定义视图,但是我遇到了问题。

这是我的扩展课程:

namespace Multicity\Helper;

use Zend\Form\Element\MultiCheckbox as MultiCheckboxElement;


class FormMultiCheckboxArray extends MultiCheckboxElement
{
    public function render()
{
         /* do my own render here or render_options */
    return;
    }
}

我通过视图帮助管理器使其可用:

// module.config.php
'view_helper' => array(
    'invokables' => array(
        'formMultiCheckboxArray' => 'Multicity\Helper\FormMultiCheckboxArray'
     )
),

我使用扩展类创建表单元素:

$this->add(array(
    'type' => 'Multicity\Helper\FormMultiCheckboxArray',
    'name' => 'avoid_transport',
    'options' => array(
    'value_options' => array(
                           '0' => 'voiture',
                           '1' => 'avion',
                       ),
 ),
    'attributes' => array(
        'value' => 1,
     )
));

并在视图中:

<?php echo $this->formMultiCheckboxArray($form->get('avoid_transport')); ?>

我收到此错误消息:

Zend\View\HelperPluginManager::get was unable to fetch or create an instance for formMultiCheckboxArray

拜托,任何人都可以帮我弄清楚我错过了什么?

我会欣赏任何一种指南。谢谢你的时间。

问候。

0 个答案:

没有答案