J'ai un site Web qui est entièrement dynamique et il crée un menu, les pages tout du côté dorsal dynamiquement. Maintenant, laissez-moi vous montrer la séquence d'URL en cours de création:configuration route dans CI pour accepter n niveau d'URL
http://localhost/occ/level1/level2/....leveln
Fondamentalement, le niveau1, Level2 ... leveln sont les niveaux (hiérarchie) d'un menu spécifique, par exemple home/contact_section/contact_us maintenant l'administrateur peut créer plusieurs pages et aussi créer autant de niveau de menu qu'il veut ainsi quelle est la logique d'URL, il continuera à suivre du parent jusqu'au parent le plus élevé et retourner l'URL et à la fin de l'URL sera le nom que je passe à un contrôleur générique, qui prend essentiellement le nom exécuter une requête db récupère toutes les données et affiche alors la page voici mon itinéraire:
$route['default_controller'] = 'Home';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['Admin'] = 'Admin';
//$route['(:any)'] = 'Home/pages/$1';
$route['(:any)/(:any)'] = 'Home/pages/$1/$2';
//$route['(:any)/(:any)'] = 'Home/pages/$1';
Maintenant, l'itinéraire ci-dessus a deux problèmes:
- Supposons que je URL qui a deux niveaux pour la route $ route [ » (: any)/(: any) '] =' Accueil/pages/$ 1/$ 2 '; sera appelé maintenant le contrôleur de pages accepte un nom et affiche la page dans mon cas, il retourne toujours le prénom ou vous pouvez dire $ 1, alors que je veux que le nom de famille dans l'URL soit envoyé au contrôleur.
- Comment pouvons-nous le rendre générique? Comme je peux avoir n niveaux de noms dans l'URL séparés par une barre oblique, comment configurer mon itinéraire pour accepter toutes les URL en passant le nom de l'URL au contrôleur. Parce que actuellement il montre la page introuvable si j'ai une URL d'un autre niveau défini dans la route!
oui i J'utilise CI 3.X, je reçois des arguments invalides passés implode() –
changer ce '$ params = implode (", ", $ param);' à '$ params = (count ($ param)> 1)? implode (",", $ param): $ params; ' – elddenmedio
explosant la chaîne je suis retourné seulement un attribut pas deux, trois ..... n –