使用自定义无线电字段扩展zfcuser

时间:2014-06-07 14:31:24

标签: zend-framework2 zfcuser

我正在使用ZFcuser和zendframework 2,并希望扩展注册表单以使我能够添加无线电字段。

我按照教程here

它工作正常,我能够渲染并获取imput标签的值。当我尝试渲染单选按钮时出现问题。它只呈现其中一个值。

这是我的代码:

   public function onBootstrap(MVCEvent $e)
    {
        $eventManager = $e->getApplication()->getEventManager();
        $em           = $eventManager->getSharedManager();
        $em->attach(
                'ZfcUser\Form\RegisterFilter',
                'init',
                function($e)
                {
                    $filter = $e->getTarget();

                    $filter->add(array(
                    'name' => 'accept',
                    'required' => FALSE
        ));           
                }
            );
            // custom form fields

            $em->attach(
                'ZfcUser\Form\Register',
                'init',
                function($e)
                {
                    /* @var $form \ZfcUser\Form\Register */
                    $form = $e->getTarget();
                    $form->add(
                        array(
                            'name' => 'username',
                            'options' => array(
                                'label' => 'Username',
                            ),
                            'attributes' => array(
                                'type'  => 'text',
                            ),
                        )
                    );


              $form->add(array(
                    'type' => 'Zend\Form\Element\radio',
                    'name' => 'terms',
                    'options' => array(
                        'label' => 'Accept Terms',
                        'value_options' => array(
                            '1' => 'Yes',
                            '0' => 'No',
                        ),
                    ),

                ));
                }
            );

            $zfcServiceEvents = $e->getApplication()->getServiceManager()->get('zfcuser_user_service')->getEventManager();

            $zfcServiceEvents->attach('register', function($e) {
                $form = $e->getParam('form');
                $user = $e->getParam('user');

HTML

此输出中的html仅呈现1个输入标记;即

<input type="radio" value="" name="terms">

然而,我需要渲染两个单选按钮;一个用于是,一个用于否

有没有人有任何想法如何做到这一点;我非常感谢你的帮助

1 个答案:

答案 0 :(得分:1)

这是当前ZfcUser(v.1.x)的限制,但是将在即将到来的版本(v.2.x)中修复。 在此期间:用您自己的标准视图覆盖标准视图。