Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework
Zend Framework Forum d'entraide sur la programmation PHP avec Zend Framework. Avant de poster -> FAQ ZF, Cours ZF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/07/2008, 17h17   #1
Membre du Club
 
Homme Jonathan
Inscription : avril 2007
Messages : 274
Détails du profil
Informations personnelles :
Nom : Homme Jonathan

Informations forums :
Inscription : avril 2007
Messages : 274
Points : 57
Points : 57
Par défaut [Route] Besoin d'aide pour la configuration des mes routes => url propre

Bonjour à tous,

J'aimerai avoir des url "propres" du type :
http://monsite.com/language/sport/mo...m1-param2.html.

Je test donc la configuration de ma route pour accéder à la page.

http://monsite.com/fr/sport1/news/vi...mon-titre.html

Voici mon fichier routes.ini :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
[routes]
 
routes.compat.route = ":language/:sport/:module/:controller/:action/*"
 
routes.news.route = ":language/:sport/:module/:controller/:action/*"
routes.news.type = "Zend_Controller_Router_Route_Regex"
routes.news.route = "fr/sport1/news/view/full\-(\d+)\-(.+).html"
routes.news.defaults.module = "news"
routes.news.defaults.controller = "view"
routes.news.defaults.action = "full"
routes.news.map.1 = "id"
routes.news.map.2 = "titre"
routes.news.reverse = "fr/sport1/news/view/full-%d-%s.html"
Il y a deux problèmes avec cette configuration:

1) Je doit mettre en dure la valeur des variables :language et :sport
2) Cela m'afficher full-3-mon+titre.html au lieu de full-mon-titre.html ("+" en "-")

Le 1er problème est beaucoup plus génant. Savez vous comment ne pas avoir à mettre les variables :language et :sport ?

Merci d'avance.
Jonathan.b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2008, 16h34   #2
Membre du Club
 
Homme Jonathan
Inscription : avril 2007
Messages : 274
Détails du profil
Informations personnelles :
Nom : Homme Jonathan

Informations forums :
Inscription : avril 2007
Messages : 274
Points : 57
Points : 57
Je fais un petit up (déterrage ?), mon projet est passé un peu en standby et ce problème est toujours d'actualité. Avez vous une astuce pour gérer les espaces, caractères spéciaux etc, dans les url de routage ?
Jonathan.b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2008, 14h59   #3
Membre du Club
 
Inscription : mai 2008
Messages : 53
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 53
Points : 43
Points : 43
Envoyer un message via ICQ à trashyquaker
Salut,

Je n'ai pas de réponse à ta question, par contre je suis curieux de savoir quel est l'intérêt d'avoir des url en .html?
Celà facilite le référencement?
trashyquaker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2008, 16h59   #4
Nouveau Membre du Club
 
Inscription : septembre 2006
Messages : 82
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : septembre 2006
Messages : 82
Points : 31
Points : 31
Hello,

j'aurais tendance à dire que tes URL ne peuvent pas finir en htlm avec ZF puisque ton adresse est de type hhtp://adressedusite/controlleur/action

Mais peut-être que je me trompe !

Devil Shark est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2008, 12h40   #5
Membre confirmé
 
Développeur Web
Inscription : octobre 2006
Messages : 251
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2006
Messages : 251
Points : 268
Points : 268
pour le titre, il faut que tu stocke une version propre en base(comme wordpress).

Pour les routes qui ce finissent en .html, il faut utiliser les zend_router_route_regex si tu as des paramètres
benji07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2008, 14h27   #6
Membre du Club
 
Homme Jonathan
Inscription : avril 2007
Messages : 274
Détails du profil
Informations personnelles :
Nom : Homme Jonathan

Informations forums :
Inscription : avril 2007
Messages : 274
Points : 57
Points : 57
Citation:
Envoyé par benji07 Voir le message
pour le titre, il faut que tu stocke une version propre en base(comme wordpress).
A oui, en effet, je n'y avait pas pensé. Je vais regarder la base de Wordpress pour avoir toutes les infos mais en gros je pense qu'il y a une version complète du titre (avec accent etc) et une version lite qui sert pour la création des différents liens.

Citation:
Envoyé par benji07 Voir le message
Pour les routes qui ce finissent en .html, il faut utiliser les zend_router_route_regex si tu as des paramètres
L'extension avec le .html marche parfaitement. Je n'ai d'ailleurs pas encore étudié la veritable utilité de cette extension mais ça me sert également pour tester les différentes possibilités du ZF. Je verrai si je laisse tel quel ou pas.
Mon problème se situe vraiment sur la partie "language" et "sport". Si vous regardez bien mon exemple de code, j'ai mis "fr/sport1" au lieu de mettre des variables.
Ce code marche donc pour accéder à une page dans cette langue et dans ce sport mais si je veux passer en anglais par exemple, la route n'est pas reconnu. Ce qui est normal mais les tests suivant ne marche pas :
routes.news.route = ":language/:sport/news/view/full\-(\d+)\-(.+).html"
routes.news.route = "news/view/full\-(\d+)\-(.+).html"

Quelle est la bonne solution ?
Jonathan.b est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h09.


 
 
 
 
Partenaires

Hébergement Web