Bonjour
Je suis en train de developper un "fil d'ariane" ou "breadcrumb" pour un site php/mySql.
1 ) Mon site se compose ces pages (rubriques principales) :
"index.php", "artiste.php", "concert.php", "livres.php", "liens.php", "contact.php".
2 ) Le site est diponible en anglais & en français (variable lang= dans l'url).
3 ) Les pages" index.php, livres.php, liens.php, contact.php" ne contiennent qu'un niveau d'arborescence, la langue est le seul paramètre amené à changer.
4 ) la page "artiste.php" peut etre appellée avec 5 paramètres :
- var "type" = liste des artistes
- var "type" = detail d'un artiste
- var "type" = biographie de l'artiste
- var "type = liste des albums de l'artiste
- var "type" = detail d'un album de l'artiste
Exemples :
5 ) la page "concert.php" peut etre appellée avec 2 paramètres :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 http://www.ledomaineamoi.com/artiste.php?lang=fr&type=liste_artistes http://www.ledomaineamoi.com/artiste.php?lang=fr&type=detail_artiste&id_artiste=6 http://www.ledomaineamoi.com/artiste.php?lang=fr&type=detail_album&id_artiste=6&id_album=3
- var "type" = liste des concerts
- var "type" = detail d'un concert
Le but est d'implémenter un "fil d'ariane" généré à partir de l'url en fonction de la valeur des variables "type" & "lang" ainsi que
de l'identifiant des artistes ("id_artiste") et des albums ("id_album") Ce fil d'ariane doit ressembler à ceci :
Exemples :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // code... <li><a href="artiste.php?lang=fr&type=liste_artistes title="liste des artistes bla bla">> Artistes</a></li> <li><a href="artiste.php?lang=fr&type=detail_artiste&id_artiste=6 title="Mano Negra... bla bla">> La Mano Negra</a></li> // code...6 ) Je me retrouve donc avec un fichier php bien lourd qui extrait les params de l'url, vérifie leur présence,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 // code... <li><a href="artiste.php?lang=fr&type=liste_artistes title="liste des artistes bla bla">> Artistes</a></li> <li><a href="artiste.php?lang=fr&type=detail_artiste&id_artiste=6 title="Mano Negra... bla bla">> La Mano Negra</a></li> <li><a href="artiste.php?lang=fr&type=liste_album&id_artiste=6&id_album=2 title="Puta's Fever - artiste : Mano Negra... bla bla">> Puta's Fever</a></li> // code...
leur "validité" (pas de problème avec un valeur exotique remplacée dans l'url par l'internaute du style :
7 ) J'utilise les variables $_GET pour effectuer la recherche et l'affichage du nom des artistes et des albums via des requetes sur la base MySql.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 http://www.ledomaineamoi.com/artiste.php?lang=fr&type=cassoulet&id_artiste=7 // ou alors http://www.ledomaineamoi.com/artiste.php?lang=fr&type=detail_artiste&id_artiste=785421056
Je cherche a utiliser un fichier d'include unique du fil d'ariane pour tout le site.
Voilà pour l'aspect poétique de la chose.
8 ) Concernant l'implémentation je suis arrivé à un horrible fichier php de 18 ko avec 460 lignes de code je résume l'esprit de la chose :
- une clause switch qui renvoie le contenu en fonction du nom de la page (nom du fichier dans l'url)
- un ensemble de clause if, else if, else imbriquée pour générer le contenu du fil d'ariane suivant la valeur de la variable "type"
- un switch imbriqué dans les clause conditionnelles pour générer le contenu en fonction de la langue ($_GET ['lang']).
Cette approche est assez lourde, la taille du fichier conséquente et pour maintenir le code en cas d'ajout de paramètres supplémentaires dans les rubriques
ça devient assez difficile.
J'ai effectué pas mal de recherche sur les systèmes de "fil d'ariane" ou "breadcrumb" et ce que j'ai trouvé ce sont des sytèmes fonctionnant sur
la détection de répertoires imbriqués, ce qui n'est pas mon cas.
Quelque âme compatissante aurai-t-elle une idée plus judicieuse pour l'implémentation que celle décrite plus haut (voir : paragraphe 8) ?
Merci d'avance.
Partager