Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-06-2010 07:10:07

diab_olik
Nouveau membre
Date d'inscription: 20-06-2010
Messages: 2

Zend Framework et SEO, url en base de données

Bonjour,

Je cherche à mettre en place du SEO sur un site réalisé avec Zend, mais je suis confronté à un problème.

Avec le Zend_Router, j'arrive à gérer sans problème des url de type
http://localhost/monsite/produits/nomduproduit-22
avec dans mon cas 22 et l'identifant du produit.

Ce que je voudrais faire c'est avoir une url du type :
http://localhost/monsite/monProduit.html
a partir de cette url, je cherche dans une table en base de données l'identifiant qui correspont à mon produit et redirige vers le controller produit et l'action voir, avec en paramètre mon identifiant, en gros passer de ça:
http://localhost/monsite/monProduit.html
à ça:
http://localhost/monsite/produit/voir/id/22

Est-il possible de faire ça avec le Zend_Router?

Merci,

Pierre

Hors ligne

 

#2 20-06-2010 11:55:15

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: Zend Framework et SEO, url en base de données

Salut,

Je dirais qu'il faut plutôt faire un sanitize sur le nom du produit au moment de son entrée dans la bdd (grâce à un filtre perso) ou alors ajouter un champ spécifique dans le formulaire du produit. Ensuite il faudrait ajouter un index sur ce champ en bdd et requêter directement là dessus.

Ce champ doit être unique.


A+ benjamin.


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#3 21-06-2010 07:35:58

Intiilapa
Membre
Date d'inscription: 03-02-2009
Messages: 95

Re: Zend Framework et SEO, url en base de données

Ecris ta propre classe Zend_Controller_Router_Route_Seo par exemple.

Tu peux t'inspirer d'une autre classe comme Zend_Controller_Router_Route_Module. La méthode match() sert à traduire l'url en paramètre, et assemble() l'inverse. Tu récupères le segment monProduit dans l'url, tu recherches en base l'identifiant, et tu renvoies un tableau avec l'action fixée à voir, et ton identifiant.
Pense à définir la ressource Db avant la ressource Router dans ton bootstrap (dépendance).

Après cela dépend aussi de tes besoins, si tu as seulement besoin d'une url SEO. Tu peux utiliser une route regex ([a-zA-Z]+).html. Tu rediriges cette dernière systématiquement sur ton action voir. Dans l'action, tu convertis en base monProduit par son id.

Hors ligne

 

#4 29-06-2010 04:15:16

diab_olik
Nouveau membre
Date d'inscription: 20-06-2010
Messages: 2

Re: Zend Framework et SEO, url en base de données

Bonjour,

Merci pour ses réponses, avec une classe de route perso, ça marche à peu près, quelques ajustements et c'est bon.

Pierre

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages