Maintenant, mon application utilise gridview pour répertorier toutes les informations. La page est également paginée. Lorsque l'utilisateur clique sur le numéro de pagination, puis sur Éditer et sur Enregistrer. Il redirige l'utilisateur pour afficher la page. Ce que je veux faire pour rediriger l'utilisateur vers la page précédente (URL avec numéro de pagination).
Vous pouvez utiliser Yii::$app->request->referrer
qui renvoie la dernière page sur laquelle l'utilisateur se trouvait.
L'utilisation est simple:
return $this->redirect(Yii::$app->request->referrer);
Vous devez également tenir compte du fait que referrer
peut être null
:
return $this->redirect(Yii::$app->request->referrer ?: Yii::$app->homeUrl);
Voir les docs .
Ici il est conseillé de vérifier si referrer
est défini à la première place . Ainsi, si vous utilisez le code suivant, vous serez redirigé vers la dernière page si le parrain est défini ou à votre homeUrl
configuré si l'URL de retour n'a pas été défini auparavant.
return $this->goBack((!empty(Yii::$app->request->referrer) ? Yii::$app->request->referrer : null));
C'est vrai ce que dit @Kostas, mais je pense qu'il serait préférable de simplement coder ce qui suit, car goBack prend déjà en compte un paramètre null dans goBack HOME.
return $this->goBack(Yii::$app->request->referrer);
Je l'ai testé et cela fonctionne bien.