2014-03-31 8 views
0

나는 젠드 framework2에서 사용자 인증을 위해 ZFC 사용자 모듈을 사용하지만 등록 양식에서 사용자 이름 필드를 표시하지 않습니다하지만 사용자 이름 필드를 표시하고 오류를 제공하지 않습니다 : 여기 젠드 프레임 워크 2의 zfcuser 모듈에서 등록 양식에 사용자 이름 필드를 사용하는 방법은 무엇입니까?

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

이 값을 true로 당신의 config/autoload/zfcuser.global.php을 확인하고 변경 :

 /** 
    * 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로 설정하십시오.

+0

감사합니다.하지만이 오류 문을 실행할 수 없습니다 (23000 - 1048 - 열 '상태'null이 될 수 없습니다)이 오류를 해결하는 데 도움이 될 수 있습니까? –

+0

나는 내 대답을 편집했다. 추가 설정 문제가있는 경우 활성화 또는 비활성화 할 수있는 항목에 대한 이해를 얻으려면 전체 config 파일을 살펴 보는 것이 좋습니다. – cptnk

+0

감사합니다. 코드에 따라 코드를 변경했지만 다른 오류가 있습니다. 명령문을 실행할 수 없습니다 (23000 - 1048 - 열 'user_id'는 null 일 수 없음).이 경고를 어떻게 제거합니까? –