我正在使用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">
然而,我需要渲染两个单选按钮;一个用于是,一个用于否
有没有人有任何想法如何做到这一点;我非常感谢你的帮助
答案 0 :(得分:1)
这是当前ZfcUser(v.1.x)的限制,但是将在即将到来的版本(v.2.x)中修复。 在此期间:用您自己的标准视图覆盖标准视图。