Как включить поле имени пользователя в форме регистрации в модуле zfcuser Zend Framework 2?
Я использовал пользовательский модуль zfc для аутентификации пользователя в Zend Framework2, но он не показывает поле имени пользователя в форме регистрации, но он не показывает поле имени пользователя и выдает ошибку:
Statement could not be executed (23000 - 1048 - Column 'username' cannot be null)
вот мой registration.phtml:
<h1>Registration</h1>
<?php
if (!$this->enableRegistration) {
print "Registration is disabled";
return;
}
$form = $this->registerForm;
$form->prepare();
$form->setAttribute('action', $this->url('zfcuser/register'));
$form->setAttribute('method', 'post');
?>
<?php echo $this->form()->openTag($form) ?>
<dl class="zend_form">
<?php foreach ($form as $element): ?>
<?php if (!$element instanceof Zend\Form\Element\Button): ?>
<dt><?php echo $this->formLabel($element) ?></dt>
<?php endif ?>
<?php if ($element instanceof Zend\Form\Element\Button): ?>
<dd><?php echo $this->formButton($element) ?></dd>
<?php elseif ($element instanceof Zend\Form\Element\Captcha): ?>
<dd><?php echo $this->formCaptcha($element) . $this->formElementErrors($element) ?></dd>
<?php else: ?>
<dd><?php echo $this->formInput($element) . $this->formElementErrors($element) ?></dd>
<?php endif ?>
<?php endforeach ?>
</dl>
<?php if ($this->redirect): ?>
<input type="hidden" name="redirect" value="<?php echo $this->escapeHtml($this->redirect) ?>" />
<?php endif ?>
<?php echo $this->form()->closeTag() ?>
Могу ли я включить поле имени пользователя в регистрационной форме?
1 ответ
Решение
Проверьте свои config/autoload/zfcuser.global.php
и измените значение на true:
/**
* Enable Username
*
* Enables username field on the registration form, and allows users to log
* in using their username OR email address. Default is false.
*
* Accepted values: boolean true or false
*/
'enable_username' => true,
Теперь вы должны увидеть это поле.
Редактировать: поле состояния находится в том же файле.
/**
* Enable user state usage
*
* Should user's state be used in the registration/login process?
*/
'enable_user_state' => false,
если вы хотите, чтобы это было в вашей форме, добавьте true, иначе false.