Bezlepkin писал(а):Код?
view общий с табами:
Код: Выделить всё
<?php
use yii\helpers\Html;
use yii\bootstrap\Tabs;
/* @var $this yii\web\View */
/* @var $form yii\bootstrap\ActiveForm */
/* @var $modellog \frontend\models\SignupForm */
$this->title = 'Регистрация';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="site-signup">
<h1><?= Html::encode($this->title) ?></h1>
<p>Пожалуйста, заполните поля:</p>
<div class="row">
<?php
$reg = $this->render('_signup', ['model'=>$model]);
$log = $this->render('_login', ['model'=>$modellog]);
echo Tabs::widget([
'items' => [
[
'label' => 'Регистрация',
'content' => $reg,
'active' => true
],
[
'label' => 'Вход',
'content' => $log,
],
]
]);
?>
</div>
</div>
view _login
Код: Выделить всё
<?php
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
?>
<h1><?= Html::encode($this->title) ?></h1>
<p>Пожалуйста, заполните поля:</p>
<div class="row">
<div class="col-lg-5">
<?php
$form = ActiveForm::begin(['id' => 'login-form', 'action' => 'login']); ?>
<?= $form->field($model, 'username') ?>
<?= $form->field($model, 'password')->passwordInput() ?>
<?= $form->field($model, 'rememberMe')->checkbox() ?>
<div style="color:#999;margin:1em 0">
Если Вы забыли пароль <?= Html::a('нажмите меня', ['site/request-password-reset']) ?>.
</div>
<div class="form-group">
<?= Html::submitButton('Войти', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
view _signup
Код: Выделить всё
<?php
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
?>
<h1><?= Html::encode($this->title) ?></h1>
<p>Пожалуйста, заполните поля:</p>
<div class="row">
<div class="col-lg-5">
<?php
$form = ActiveForm::begin(['id' =>'form-signup', 'action' => 'signup']); ?>
<?= $form->field($model, 'username') ?>
<?= $form->field($model, 'email') ?>
<?= $form->field($model, 'password')->passwordInput() ?>
<h2>Контактные данные:</h2>
<p>Эти данные используются при создании объявлений, заполните те, которые считаете нужными.</p>
<?= $form->field($model, 'tel') ?>
<?= $form->field($model, 'vk') ?>
<?= $form->field($model, 'od') ?>
<?= $form->field($model, 'fb') ?>
<?= $form->field($model, 'site') ?>
<?= $form->field($model, 'name') ?>
<div class="form-group">
<?= Html::submitButton('Зарегистрироваться', ['class' => 'btn btn-primary', 'name' =>'signup-button']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
контролер
Код: Выделить всё
public function actionLogin()
{
if (!\Yii::$app->user->isGuest) {
return $this->goHome();
}
$model = new SignupForm();
$modellog = new LoginForm();
if ($modellog->load(Yii::$app->request->post()) && $modellog->login()) {
return $this->goBack();
} else {
return $this->render('signup', [
'model' => $model, 'modellog'=>$modellog
]);
}
}
public function actionSignup()
{
$model = new SignupForm();
$modellog = new LoginForm();
if ($model->load(Yii::$app->request->post())) {
if ($user = $model->signup()) {
if (Yii::$app->getUser()->login($user)) {
return $this->goHome();
}
}
}
return $this->render('signup', [
'model' => $model, 'modellog'=>$modellog
]);
}