- 1
[Opened] un modèle d'url significative pour toutes les actions
Posted by Dubphil on 02/23/2008 16:17
Bonjour,
Voilà j'avance, je m'attaque maintenant aux urls et là je ne trouve pas mon bonheur, dois-je vraiment compter sur apache si je souhaite utiliser ce type d'url : http://monappli/monmodule/moncontrolleur:monaction sans avoir à définir dans urls.xml toutes les actions possibles de mon appli ?
Philippe
[Opened] Re: un modèle d'url significative pour toutes les actions
Posted by Dubphil on 02/23/2008 16:42
Bon j'ai trouvé en fait il suffit d'avoir ça dans var/config/urls.xml :
<urls xmlns="http://jelix.org/ns/urls/1.0"> <classicentrypoint name="index" default="true"> <url noentrypoint="true" pathinfo="/:module/:action" module=":module" action=":action"> </url> </classicentrypoint> </urls>
ça dans www/.htaccess :
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
et le paramètre suivant dans var/config/defaultconfig.ini.php :
[urlengine] engine = significant
et voilà ^^
Jelix commence à me plaire sérieusement !
[Opened] Re: un modèle d'url significative pour toutes les actions
Posted by Dubphil on 02/23/2008 18:58
Tient c'est bizarre, je ne me l'explique pas, mais avec la méthode ci-dessus, lorsque je clique sur un lien de ce type : http://monappli/monmodule/monaction je charge le template directement, sans charger les zones communes alors qu'avec l'url classique : http://monappli/index.php?module=monmodule&action=monaction j'ai tous mes templates qui se chargent....O_o
Philippe
[Opened] Re: un modèle d'url significative pour toutes les actions
Posted by laurentj on 02/24/2008 10:13
Bon j'ai trouvé en fait il suffit d'avoir ça dans var/config/urls.xml :
Je doute que cela fonctionne. D'ailleurs, comme tu l'as remarqué, ça ne fonctionne pas. Surtout ton module=":module", ça n'est pas possible, les valeurs dans l'attribut module et action doivent être des valeurs statiques. En gros donc, ton truc, c'est équivalent à l'url module=:module&action=:action...
Donc non, il faut déclarer toutes les actions dans le url.xml
Ou alors tu te fais un autre moteur d'url... (tu peux te baser sur le moteur d'url simple pour ça..)
[Opened] Re: un modèle d'url significative pour toutes les actions
Posted by Dubphil on 02/25/2008 12:13
ben c'est quand-même curieux car si je tape cette url dans mon navigateur :
http://www.example.com/monmodule/moncontrolleur:mamethode
jelix me charge la bonne action mais sans les templates communs, essaye tu verras...
normalement il devrait me renvoyer sur l'action par défaut définie dans la config n'est-ce pas ?
Philippe
- 1