Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je viens de mettre en place sur mon application un système d'URL optimisées pour le référencement :
- Dans une base de données, une table "seo_url" avec 5 champs : url (index), module, controller, action, params
- Une méthode dans le Bootstrap qui va chercher ces infos dans la base de données
- Cette même méthode fait une boucle et ajoute dans le routeur à l'aide de addRoute() et Zend_Controller_Router_Route_Static chaque ligne de la table.
Par exemple, j'ai mis dans la table seo_url : url = login, module = client, controller = log, action = in voulant ainsi accéder à la page de connexion via /login au lieu de /client/log/in (configuration par défaut). Cela fonctionne.
Maintenant, je souhaiterai qu'à l'appel de $view->url(array('module' => 'client', 'controller' => 'log', 'action' => 'in'), 'default', true), cette fonction me retourne '/login' au lieu de '/client/log/in'. Ainsi, si je viens à modifier dans la table seo_url "login" par "connexion", mes liens se mettent automatiquement à jour.
Je tiens à préciser que je débute avec le Zend Framework... Donc n'hésitez pas à me demander des précisions si je ne suis pas claire, ou à me donner des conseils !
Hors ligne
Tu te complique la vie. Regarde plutôt du côté de Zend_Controller_Router_Route_Static. Ca te permettra de créer des routes pour dire que www.monsite.com/login devra être "mappé" pour tel controller et tel action.
C'est beaucoup plus flexible que de devoir stocker en base.
Hors ligne