Здравствуйте коллеги!!
Помогите решить вопрос плиз!
Делаю на сайте форму логина в модальном окне, и вроде все класс, все работает,
нажимаю на кнопочку окно с формой открывается.
Но встал вопрос как сделать так, что если пользователь ведет в адресной страке, /login
его не переводило на этот адрес а просто открывало окно
вот части кода, что бы было меньше не нужных вопросов
public function actionLogin()
{
if (!Yii::$app->user->isGuest) {
return $this->goHome();
}
$model = new LoginForm();
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())){
if ($model->login()) {
return $this->goBack();
} else{
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
}
return $this->renderAjax('ajax-login', [
'model' => $model
]);
}
и есть такой js
$('#modal-btn').on('click', function () {
$('#modal').modal('show')
.find('#modal-content')
.load($(this).attr('data-target'));
});
<a id="modal-btn" data-target="<?php echo \yii\helpers\Url::to('/login')?>">Вход</a>
<?php
yii\bootstrap\Modal::begin([
'header' => 'Оформить заказ',
'id' => 'modal',
'size' => 'modal-md',
]);
?>
<div id='modal-content'>Загружаю...</div>
<?php yii\bootstrap\Modal::end(); ?>
Partial с формой логина:
<div class="row">
<div class="col-lg-5">
<?php $form = ActiveForm::begin(['id' => 'login-form']); ?>
<?= $form->field($model, 'username') ?>
<?= $form->field($model, 'password')->passwordInput() ?>
<?= $form->field($model, 'rememberMe')->checkbox() ?>
<div style="color:#999;margin:1em 0">
<?= Html::a(Module::t('module', 'LINK_PASSWORD_RESET'), ['password-reset-request']) ?>.
</div>
<div class="form-group">
<?= Html::submitButton(Module::t('module', 'USER_BUTTON_LOGIN'), ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>