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

  [Opened] problème de génération url.

Posted by Ghost on 01/12/2010 23:39

Bonsoir,

je suis sur un souci actuellement que je n'arrive pas à comprendre. Mon application est configuré engine="significant" avec un extrait des urls :

      <url pathinfo="/files" module="files" action="default:index" actionoverride="default:filtre, default:prepareindex"></url>
      <url pathinfo="/files/:FileId" module="files" action="default:view" >
      	<param name="FileId"  regexp="\d+"/>
      </url>
	  
	  

Or, j'ai remarqué un souci au niveau de la récupération de l'alias dans urls.xml quand j'utilise dans la template : {jurl}

en fait,j'ai un formulaire qui suit :

 {form $form,'files~default:filtre'}
 ....
 {/form}

quand je vais voir l'url généré, c'est exactement celle que je veux : "/files"

Par contre, si je mets dans un simple lien généré avec {jurl}, je n'obtiens pas ce qui est défini dans l' "actionoverride":

 <a class="crud-link" href="{jurl 'files~default:prepareindex'}"> fichiers</a> 

me génère l'url suivante:

 index.php/files?action=default:prepareindex

et

 <a class="crud-link" href="{jurl 'files~default:filtre'}">fichiers</a> 

me génère celle-ci:

 index.php/files?action=default:filtre

par contre, si je modifie mon fichier urls.xml en ca :

      <url pathinfo="/files" module="files" action="default:index"></url>
	  <url pathinfo="/files/Dofilter" module="files" action="default:filtre"></url>
	  <url pathinfo="/files/PrepIndex" module="files" action="default:prepareindex"></url>
      <url pathinfo="/files/:FileId" module="files" action="default:view" >
      	<param name="FileId"  regexp="\d+"/>
      </url>
	  
	  

avec les 2 jurl précédents j'obtiens ce que je veux :

	index.php/files/Dofilter
	index.php/files/PrepIndex

Est ce un bug au niveau de Jurl dans le cas d'une actionoverride ou est ce que j'ai mal configuré quelque chose ?

  [Opened] Re: problème de génération url.

Reply #1 Posted by laurentj on 01/14/2010 10:25

Salut,

non c'est le comportement attendu. Si il n'indiquait pas le paramètre action, quand il reçoit l'url /files, il ne saurait pas quel action faire parmis celles indiquée dans action ou actionoverride.

En fait, ce actionoverride est pratique dans certain cas, pour un cms par exemple. En général, les urls pointent vers un document, un article. ex : /fr/manuel, /fr/manuel/urls etc... l'action par défaut va afficher l'article en question. Mais si tu veux faire une autre action qu'afficher ? Editer l'article par ex (dans un wiki par ex). on va pas créer une url /fr/manuel/edit, ça peut peut-être entrée en collision avec un article qui s'appelle "edit". le mieux est de mettre cette action dans un paramètre get. C'est ce que permet donc actionoverride.

 
Page
  1. Re: problème de génération url.