Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [Résolu] jResponseRedirect et url

Posted by Nesswaw on 01/24/2012 14:07

Bonjour,

J'utilise le mode "significant" pour les urls dans Jelix, dans mon urlx.xml j'ai cette ligne:

<url pathinfo="/article/:title-:id" module="article" action="default:index" />

Dans un controller, je récupère un article via son id, et j'aimerais faire une redirection vers la bonne adresse.

J'ai donc ce code pour faire la redirection:

$rep = $this->getResponse('redirect');
$rep->action = 'article~default:index';
$rep->params = array('title' => $article->title, 'id' => $article->idArticle);
return $rep;

Ca me fait bien la redirection, mais sous cette forme: site.com/article?title=mon-article-de-test&id=5

J'aimerais bien que ca me redirige vers l'addresse comme decrit dans mon urls.xml => site.com/article/mon-article-de-test-5

Est-ce possible dans Jelix?

Ou alors je dois pas utiliser jResponseRedirect, mais jResponseRedirectUrl?

Merci d'avance

  [Opened] jResponseRedirect et url

Reply #1 Posted by foxmask on 01/24/2012 14:27

Bonjour,

le jResponseRedirectURl est pour les URL ne faisant pas partie de son application.

La "forme" de l'url telle qu'elle se produit là m'arrive quand mon mapping dans urls.xml n'est pas correct.

Par correct ca veut dire que soit la ligne du mapping n'est pas dans le urls.xml

<url pathinfo="/article/:title-:id" module="article" action="default:index" />

Soit la ligne est là mais male écrite

<url pathinfo="/article/:tailleulle-:id" module="article" action="default:index" /> ,

Soit qu'elle est là mais qu'un autre mapping entre en "conflit" avec ce à quoi on s'attend et donc le moteur ne se comporte pas du tout comme on le voulait.

<url pathinfo="/untruc/:title-:id" module="article" action="default:index" />

<url pathinfo="/article/:title-:id" module="article" action="default:index" />


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] jResponseRedirect et url

Reply #2 Posted by Nesswaw on 01/24/2012 15:35

J'ai vu que c'était à cause de mes deux lignes:

<url pathinfo="/article/" module="article" action="default:index" /> <url pathinfo="/article/:title-:id" module="article" action="default:index" />

Deux url, mais qui pointe vers la même action...

Si je met deux action différente, là, ca fonctionne bien...je peux donc pas avoir deux urls vers la même action?

Merci

  [Opened] jResponseRedirect et url

Reply #3 Posted by foxmask on 01/24/2012 15:53

c'est ça.

par contre on peut avoir plusieurs actions pour une meme url comme ici


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] jResponseRedirect et url

Reply #4 Posted by Nesswaw on 01/25/2012 08:57

Merci pour votre réponse, j'ai donc mis deux action différentes :)

  [Opened] [Résolu] jResponseRedirect et url

Reply #5 Posted by laurentj on 01/25/2012 13:00

Bonjour,

oui, il n'est pas possible d'avoir deux urls pour la même action. Laquelle devrait choisir le framework quand on lui donne une action qui correspond à deux urls ? Il ne peut pas savoir celle que tu veux. Il prend donc la première.

 
Page
  1. jResponseRedirect et url