YII2 Redirect im backend nach der Benutzer-Registrierung von frontend
Nach der installation des vorab-Vorlage in yii2, ich habe eine Benutzer-Registrierung im frontend, aber ich will es redirect im backend nach der Registrierung. Wie geht das???
public function actionSignup()
{
$model = new SignupForm();
if ($model->load(Yii::$app->request->post())) {
if ($user = $model->signup()) {
if (Yii::$app->getUser()->login($user)) {
return $this->goHome(); //I WANT TO CHANGE THIS TO REDIRECT TO LOCALHOST/MYAPP/BACKEND/WEB
}
}
}
return $this->render('signup', [
'model' => $model,
]);
}
UPDATE
hier ist die urlmanager
'urlManager' => [
'class' => 'yii\web\urlManager',
'showScriptName' => false,
],
'urlManagerBackend' => [
'class' => 'yii\web\urlManager',
'showScriptName' => false,
'baseUrl' => 'http://localhost/ncddp/backend/web/index.php',
],
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie konfigurieren, separate
urlManager
Komponente infrontend
fürbackend
:Setzen in
components
Abschnitt in der Anwendung-config.Dann können Sie es so:
Verwendung mit redirect:
Weiterführende links:
Yii::$app->urlManagerBackend->createUrl();
in der Umleitung?enablePrettyUrl
zutrue
Anwendung kann nicht mehr erkennenhttp://localhost/ncddp/frontend/web/site/signup
es gibt 404 zurückcreateUrl(...)
? Ich habe versuchtreturn $this->redirect(Yii::$app->urlManagerBackend->createUrl('index'));
aber die url gehthttp://localhost/ncddp/frontend/web/index.php?r=index
die 404... auch noch im frontend.baseUrl
ist, ersetzen Sie es mit der urlbackend
.return $this->redirect(Yii::$app->urlManagerBackend->createUrl('index'));
ich haben, ändern Sie den urlManager aber der Fehler ist immer noch der gleiche. URL gehthttp://localhost/ncddp/frontend/web/index.php?r=index
nach der Registrierung. Ich aktualisiert meine Frage oben.'baseUrl' => 'http://localhost/myapp/backend/web'
erstellen und dann die url so:Yii::$app->urlManagerBackend->createUrl(['site/index'])
.return $this->redirect(Yii::$app->urlManagerBackend->createUrl('site'));
Immer noch die gleichen. Nach der Registrierung browser-Umleitungen hierhttp://localhost/ncddp/frontend/web/index.php?r=site
'baseUrl' => 'http://localhost/myapp/backend/web'
. Sie müssen die url zum backend, nicht frontend. 2)Yii::$app->urlManagerBackend->createUrl(['site/index'])
. Bitte überprüfen Sie alles noch einmal genau durch, ich habe es getestet und es funktioniert Prima.