우리는 사용자의 컨트롤러에 actionSearchType이있는 경우 다음과 같이 정의되지 않은 변수 모델을 검사 할 때 다음과 같이YII 프레임 워크 : 손님
public function actionSearchType()
{
if (Yii::app()->user->isGuest == true)
$this->render('login');
else
$this->render('search_type');
}
우리 actionLogin 우리의 사용자 컨트롤러에서 것은 :
public function actionLogin()
{
$model= new Users();
// if it is ajax validation request
if(isset($_POST['ajax']))
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
$this->redirect(Yii::app()->user->returnUrl);
}
}
// display the login form
$this->render('login',array('model'=>$model));
}
목표 인증 된 사용자 만 검색 유형보기에서 옵션을 실행할 수 있도록하는 것입니다. 이 페이지를 실행하면 Undefined variable: model
이라는 오류 메시지가 나타납니다.
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'login-form',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<div class="row">
<?php echo $form->labelEx($model,'username'); ?>
<?php echo $form->textField($model,'username'); ?>
<?php echo $form->error($model,'username'); ?>
</div>
어떤 단계 위의 오류를 해결하는 데 걸리는 제대로 우리가 인증 된 사용자를 확인하기 위해 확인해야 다음과 같이
로그인보기의 조각은 무엇입니까?
갱신 나는 아래 당 로그인 위젯을 렌더링하기 위해 actionSearchType을 변경 :
public function actionSearchType()
{
if (Yii::app()->user->isGuest)
$this->widget('ext.LoginWidget');
else
$this->render('search_type');
}
이 실제로 처음에 볼 수있는 오류를 해결. 새로운 문제는 렌더링 할 때 로그인 위젯의 스타일이 없다는 것입니다. 적절한 스타일 시트 클래스로 태그를 에코해야할까요, 아니면 좀 더 우아한 방법일까요?