Codeigniter passage de paramètre index de contrôleur
Je suis en train de construire un tutorialsystem avec codeigniter et souhaitez réaliser la structure d'URL suivante:
- /tutoriels --> une page d'introduction avec la liste de toutes les catégories
- /tutoriels/{une catégorie comme une chaîne de caractères} --> cela vous donnera une liste de tutoriels pour la catégorie donnée, par exemple /tutoriels/php
- /tutoriels/{une catégorie comme une chaîne de caractères}/{ID}/{tutoriel slug} --> cela permettra de montrer le tutoriel, par exemple /tutoriels/php/123/comment-utiliser-les fonctions
- /tutoriels/add --> de la page pour ajouter un nouveau tutoriel
Le problème est que lorsque je veux utiliser les deux premiers types d'Url, j'avais besoin de passer des paramètres à la fonction de l'index du contrôleur. Le premier paramètre est la catégorie facultative, la seconde est l'option tutoriel ID. J'ai fait quelques recherches avant que j'ai posté, donc, j'ai découvert que je pouvais ajouter une route comme tutorials/(:any)
, mais le problème est que cette route serait passer add
comme un paramètre trop lors de l'utilisation de la dernière URL (/tutoriels/ajouter).
Toutes les idées de comment je peux faire cela?
Vous devez vous connecter pour publier un commentaire.
Vos règles de routage pourrait être dans cet ordre:
Puis dans votre contrôleur de la méthode index (), vous devriez être en mesure de déterminer si c'est la catégorie ou le tutoriel ID est passé!
Je pense qu'un remap doit être de plus en plus d'utiliser à votre problème dans le cas où vous voulez ajouter plus de méthodes pour votre contrôleur, pas juste "ajouter". Ceci devrait faire la tâche:
Quelques minutes après l'affichage, je crois que j'ai trouvé une solution pour ce. (Honte sur moi).
En pseudo code:
Commentaires pour cette solution est la bienvenue!