我正在使用Zendframework 2和ZfcUser以及ZfcUserDoctrineORM。 我向普通用户扩展了一些额外的信息。
现在我想改编registerForm。因此我在ZfcUser \ Form文件夹中创建了这个表单:
class UserRegister extends ZfcUser\Form\Register {
public function init(){
$this->add(array(
'name' => 'firstName',
'options' => array(
'label' => 'First Name',
),
'attributes' => array(
'type' => 'text'
),
));
$this->add(array(
'name' => 'name',
'options' => array(
'label' => 'Last Name',
),
'attributes' => array(
'type' => 'text'
),
));
}
}
在下一步中,我更改了ZfcUser文件夹中Module.php中的getServiceConfig()函数:
'zfcuser_register_form' => function ($sm) {
$options = $sm->get('zfcuser_module_options');
$form = new Form\UserRegister(null, $options);
//$form->setCaptchaElement($sm->get('zfcuser_captcha_element'));
$form->setInputFilter(new Form\RegisterFilter(
new Validator\NoRecordExists(array(
'mapper' => $sm->get('zfcuser_user_mapper'),
'key' => 'email'
)),
new Validator\NoRecordExists(array(
'mapper' => $sm->get('zfcuser_user_mapper'),
'key' => 'username'
)),
$options
));
return $form;
},
调用register url时会显示以下错误消息:
致命错误:无法在第24行的C:\ xampp \ htdocs \ THWDiver \ vendor \ zf-commons \ zfc-user \ src \ ZfcUser \ Form \ UserRegister.php中重新声明类UserRegister
我做错了什么?
答案 0 :(得分:0)
意识到这是一个老问题,但只是偶然发现它。您需要编辑实体模块的引导程序并附加到' ZfcUser \ Form \ Register'在' init'。
我在这里有一篇博客文章详细介绍了解决方案: http://circlical.com/blog/2013/4/1/l5wftnf3p7oks5561bohmb9vkpasp6
希望它可以帮到你!
答案 1 :(得分:0)
我认为答案是覆盖服务工厂“zfcuser_register_form”,并在其中声明自己的RegisterForm。