Je suis nouveau dans le framework Symfony. Actuellement je voie dans mybundle/Ressources/config/routing.yml:Routage Symfony avec paramètres optionnels dynamiques
fcr_category_head:
path: head/{slug}/{city}/{page}
defaults: { _controller: AppBundle:Head:index, slug: "", city: "all", page: 1 }
requirements: {page: "\d+"}
le problème est que l'option city
est disponible lorsque l'utilisateur utilise le filtre pour affiner les résultats à la ville sélectionnée, si city
n'existe pas, le second paramètre devrait être page.
si les variations de l'itinéraire peuvent ressembler à ceci:
head/slug/city //default page 1 if city is not a number, if number then it is page
head/slug/city/10 //e.g page 10
head/slug/10 //no city parameter, because it is number, page 10
est-il possible de faire ces combinaisons dans le fichier de routage ou la seule façon de résoudre ce problème est d'écrire quoique ma propre logique dans le contrôleur?
Merci.
Cela sonne comme un bon cas d'utilisation pour les paramètres de requête plutôt que les attributs. C'est beaucoup plus flexible, et si vous vouliez ajouter un paramètre supplémentaire? Regardez la plupart des sites ecom, ils utilisent des paramètres de requête dans les produits de filtrage. – Luke
@Luke Oui, mais j'ai une requête, que 'city' doit être dans ce format. Je pense que c'est surtout pour le référencement, d'autres paramètres de filtrage seront définis comme des paramètres de requête comme vous l'avez suggéré. – DeividasJJ