- ^ Fondamentaux
- Principes de fonctionnement
- Utiliser jelix-scripts
- Créer une application
- Développement d'un module
- Les réponses: générer du contenu
- Définir une réponse générale personnalisée
- Faire une redirection
- Services web
- Effectuer des traitements en ligne de commande
- Définir des traitements communs à plusieurs actions
Chapitre: Faire une redirection
« Définir une réponse générale personnalisée | ^ Fondamentaux | Services web » |
− Table des matières
Il existe deux types d'objets de redirection possible :
- jResponseRedirect : redirige vers une action de l'application avec la possibilité de passer des paramètres
- jResponseRedirectUrl : redirige vers une URL quelconque, en particulier une URL externe à votre application jelix
jResponseRedirect ¶
Pour spécifier une redirection vers une action, vous indiquez le type 'redirect'. Vous récupérez la réponse comme ceci :
$rep = $this->getResponse('redirect');
Vous avez alors dans $rep une instance de l'objet jResponseRedirect.
Vous avez ensuite trois propriétés sur cet objet :
- action pour indiquer l'action vers laquelle rediriger
- params pour indiquer les paramètre d'une action (tableau associatif)
- anchor pour indiquer la partie "ref" de l'url (#anchor)
Exemple :
$rep->action = "module~controleur:action";
$rep->params = array('foo' => 'bar');
$rep->anchor = 'yo';
Définir ces propriétés est facultatif. Ainsi, si on n'indique pas l'action, ce sera l'action actuelle.
Et ensuite il n'y a plus qu'à renvoyer la réponse.
return $rep;
jResponseRedirectUrl ¶
Pour spécifier une redirection vers une URL quelconque, vous indiquez le type 'redirectUrl'. Vous récupérez la réponse comme ceci :
$rep = $this->getResponse('redirectUrl');
Vous avez alors dans $rep une instance de l'objet jResponseRedirectUrl. Cet objet possède une unique propriété, url qui doit contenir une chaine, l'url de la page vers laquelle rediriger (en général, il s'agira d'une url externe à l'application jelix, jResponseRedirect étant plus approprié pour les urls vers l'application jelix).
$rep->url = "http://jelix.org";
return $rep;