VerbAlexVlad
@VerbAlexVlad
Программист-любитель

Как настроить рендер при входе через соцсети dektrium/yii2-user?

Есть форма для комментариев, она находится под статьей в блоге:
5e41dc4f57bcd897041890.png
Как видно, можно указать имя и емаил самостоятельно, или войти через соцсети и оставить комментарий.

Но проблема в том, что после входа через соцсети страница перезагружается, и пользователь оказывается в шапке статьи, и чтобы оставить коммент, нужно снова идти вниз страницы...

Возможно ли как-то настроить вход так, чтобы обновился только блок с комментариями? как при ajax...

В web.php у меня настроено так:
'modules'      => [
	'user' => [
		'class' => 'dektrium\user\Module',
			'security' => [
				'class' => \dektrium\user\controllers\SecurityController::className(),
				'on ' . \dektrium\user\controllers\SecurityController::EVENT_BEFORE_AUTHENTICATE => function ($e) {
					/**
					* В контроллере ArticleController сохранил путь - \yii\helpers\Url::remember('', 'actions-article');
					* И здесь получил его:
					**/
					
					$previous = yii\helpers\Url::previous('actions-article');
// Если путь сохранен, то он переходит на эту страницу, если нет, то на главную
					if($previous) {
						Yii::$app->user->setReturnUrl(Yii::$app->request->hostInfo.$previous);
					} else {
						Yii::$app->user->setReturnUrl(Url::home());
					}
				},
			],
		],
	],
]


Может есть где-то статьи на эту тему? Не могу ни где найти... Второй день уже в поиске...
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
myks92
@myks92 Куратор тега Yii
Нашёл решение — пометь вопрос ответом!
Возможно ли как-то настроить вход так, чтобы обновился только блок с комментариями? как при ajax...

А чем вас ajax не устраивает?

Либо после входа через соц сети перенаправляйте на нужный якорь #comment, который указали в HTML верстке.
public function actionLogin()
{   
    //your code for login
    
   return $this->redirect(['profile', 'id' => $id, '#' => 'comment']);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы