0
votes

Ce type de routage est possible dans CodeDigniter?

J'ai une base de données avec catégories et post, à l'heure actuelle, j'y ai accès à travers leurs contrôleurs de la manière suivante: "/ Catégorie / ID" et "/ POST / ID"

Mais maintenant, je veux accéder au prochain chemin: "/ Nom / Post_Name"

La chose logique serait d'utiliser "/application/config/routes.php" et créer: € route ['((: n'importe quel) / (: tout)'] = 'post';

Le problème est que dans mon chemin recherché est possible, les sous-catégories comme "/ Catégorie1_Name / Catégorie2_Name / Post_Name"

J'essaie de créer la prochaine route: $ route ['(\ w | /) *'] = 'itinéraire'; Mais il génère un problème avec mes autres contrôleurs et ne vous recommande pas d'appeler un contrôleur d'un autre contrôleur.

est-il possible de générer mon chemin de contrôle?


3 commentaires

Quel type de "problème" avec d'autres contrôleurs êtes-vous confronté?


Quand j'utilise $ route ['(\ w | /) *'] = 'itinéraire'; Je ne peux pas accéder à mes autres contrôleurs. Parce que tout chemin est redirect sur le contrôleur d'itinéraire


Ensuite, vous devriez penser à la priorité aux règles (définir cette règle spécifique après tous les autres) ou introduire un préfixe spécifique pour cette règle.


3 Réponses :


0
votes
<?php

class Post extends CI_Controller {
 function load($parameter1 , $parameter2 )
 {
  echo $parameter1."<br>";
  echo $parameter2;
 }
}

?>

0 commentaires

0
votes

Pour le moment, j'essaye ceci:

Comment existe-t-il des sous-catégories, le nombre de catégories dans le chemin est variable, comment l'URL n'est pas infinté, j'ai défini une optimise de catégories sur le chemin et j'inclus ce code dans le "Application / Config / Config / Routes.PHP" CODE>: P>

$i = 4;
$route['(:any)'] = function ($param0="",$param1="",$param2="",$param3="",$param4="",$param5=""){
    global $i;
    if($param0 == "user" || $param0 == "home" || $param0 == "post" || $param0 == "user") return $param0;
    else return 'route';
};


0 commentaires

0
votes

Enfin, j'ai amélioré le code, j'accède aux variables extérieures à partir de la fonction anonyme avec utilisation (), définissez une quantité maximale de catégories dans l'URL et que je génère une matrice avec des noms de contrôleur, au cas où le chemin est un chemin du contrôleur, le routage de son chemin Pour lui, sinon, le routage du contrôleur de route.

code dans "application / config / config / routtes.php" : xxx


0 commentaires