имеется layouts в нем стандартный шаблон и имеется рендер экшенов $content.
как мне нормально разделить эти виды?
к примеру с лева у меня имеется блок авторизации в экшене index, где возвращается само собой рендер(index,[...]);
и мне нужно что после валидации формы этот блок менялся вместо с формы авторизации на информацию о пользователе (только в этом блоке, весь остальной контент должен оставаться на месте).
если при удачной валидации, ставить рендор на другой вид (где находится инфа о пользователе), то меняется всё содержимое сайта. потому что весь рендер подставляется в $content.
как мне разбить этот $content на несколько? где в одной части будет отвечать рендер за валидацию, второй за меню, третий за ноаости какие-нибудь и тд и тп. а не всё пихать в один $content. в данный момент имеется данная запись в контроллере:
Код: Выделить всё
public function actionIndex()
{
$session = Yii::$app->session;
$auth = new AuthForm();
if($auth->load(Yii::$app->request->post()) && $auth->validate())
{
$login_auth = Html::encode($auth->login);
$password_auth = Html::encode($auth->password);
if($login_auth == 'admin' && $password_auth == 'admin')
{
$session->set('id', $login_auth);
return Yii::$app->response->redirect(['index.html']);
}
else
{
echo "auth error";
}
}
return $this->render('index',['auth' => $auth, 'session' => $session]);
}
Код: Выделить всё
use yii\helpers\Html;
use yii\widgets\ActiveForm;
$this->title = 'site';
if(!$session->get('id'))
{
$form_auth = ActiveForm::begin();
echo $form_auth->field($auth, 'login')->label('Логин');
echo $form_auth->field($auth, 'password')->label('Пароль');
?>
<div class="form-group">
<?= Html::submitButton('Войти', ['class' => 'btn btn-primary']); ?>
</div>
<?php
ActiveForm::end();
}
else
{
echo $session->get('id');
}