actimel33
(Actimel333)
1
есть вьюшка виджета
<div id="loginpop" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="row">
<div class="col-sm-6 login">
<h4>Авторизоваться</h4>
<?php
$form = \yii\bootstrap\ActiveForm::begin([
'enableAjaxValidation' => true,
'validationUrl' => \yii\helpers\Url::to(['/validate/index']),
]);
?>
<?php echo $form->field($model,'username')->label('Имя пользователя') ?>
<?php echo $form->field($model,'password')->passwordInput()->label('Пароль') ?>
<?php echo $form->field($model,'rememberMe')->checkbox()->label('Запомнить меня') ?>
<?php echo \yii\helpers\Html::submitButton('Войти',['class' => 'btn btn-success']) ?>
<?php
\yii\bootstrap\ActiveForm::end();
?>
</div>
<div class="col-sm-6">
<h4>Новый пользователь Зареистрироваться</h4>
<p>Присоединятесь сегодня и получите информацию о проходящих сделках в вашей округе.</p>
<button type="submit" class="btn btn-info" onclick="window.location.href='<?php \yii\helpers\Url::to('main/main/register/') ?>'">Присоединиться сейчас</button>
</div>
</div>
</div>
</div>
</div>
<?php
namespace frontend\widgets;
use common\models\LoginForm;
use yii\bootstrap\ActiveForm;
use yii\bootstrap\Widget;
use yii\web\Response;
class Login extends Widget{
public function run(){
$model = new LoginForm();
if($model->load(\Yii::$app->request->post()) && $model->login()){
$controller = \Yii::$app->controller;
$controller->redirect($controller->goBack());
}
return $this->render('login',['model' => $model]);
}
есть Validate controller
<?php
namespace frontend\controllers;
use common\models\LoginForm;
use common\models\Subscribe;
use yii\web\Controller;
use yii\filters\VerbFilter;
use yii\filters\AccessControl;
use Yii;
use yii\web\Response;
use yii\widgets\ActiveForm;
class ValidateController extends Controller{
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'index' => ['get', 'post'],
'subscribe' => ['get', 'post'],
],
],
];
}
public function actionIndex(){
$model = new LoginForm();
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
}
public function actionSubscribe(){
$model = new Subscribe();
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
}
}
}
вызываю виджет
<?php
if (Yii::$app->user->isGuest) {
echo \frontend\widgets\Login::widget();
}
?>
при нажатии на кнопку которая должна его вызывать появляется вьюшка и тут же обновляется окно, что нужно исправить? кто может подсказать?