fr   gb


Arbor
Le script Arbor > En savoir plus > Principes de fonctionnement

Principes de fonctionnement

Arbor, comment ça marche ?

En mode "fichier de menu", les lignes de l'arborescence sont écrites par l'utilisateur dans un tableau PHP (Array) de structure simple, qui est lu par le script et converti en tableau interne de structure plus complexe représentant le contenu de l'arborescence et l'état de celle-ci [le script ajoute des champs "visibilité", "développement" et "type de ligne" (racine/intermédiaire/terminale)].

En mode "explorateur de fichiers", un chemin de fichier est fourni au script et celui-ci génère à la volée un tableau de données de "menu" ou les libellés des lignes de menu sont les noms des répertoires et des fichiers (balayage récursif) et on retombe donc sur le cas précédent, ce qui permet d'avoir le même code pour la suite du traitement pour les deux modes.

Au départ, si aucun paramètre de développement (via l'url en mode "fichier de menu" ou via un cookie en mode "explorateur de fichier") n'est fourni à la page qui s'affiche, le script n'écrit sur la page que les lignes racines.

Quand le script écrit une ligne d'arborescence sur la page, il ajoute des paramètres d'url au lien de cette ligne. Ces paramètres sont l'index de la ligne concernée (qui correspondra donc à l'index du clic si ce lien est activé) et une chaîne représentant l'état de visibilité de l'arborescence au moment du clic.

Ainsi, chaque réécriture de l'arborescence se fait en fonction de l'index du clic et de l'état antérieur d'affichage de l'arborescence (transmis dans l'url ou le cookie). Un clic sur une ligne entraîne, via les paramètres transmis, la modification des valeurs "visibilité" et "développement" dans le tableau interne, suivi de l'affichage final de la page.

(o) Syntaxe du paramètre d'état de l'arborescence :

La chaîne du paramètre "zc" décrit l'arborescence de la manière suivante : chaque caractère représente une ligne de l'arborescence entièrement développée et vaut "0" si la ligne est invisible et "1" si elle est visible. Si cette chaîne est compactée, s'y ajoutent des caractères alphabétiques, une minuscule représente une chaîne de "0" successifs et les majuscules une chaîne de "1" successifs, leur nombre correspondant à l'ordre alphabétique du caractère.

(o) Pourquoi, en mode "fichier de menu", passer l'état du menu par l'url plutôt qu'utiliser un cookie ou des variables de session ? :

Parce que c'est le seul moyen de diffuser des urls fonctionnelles et d'avoir des liens qui marchent ! Si un visiteur pointe un signet sur une page interne du site ou si vous fournissez un lien vers une page interne dans un e-mail ou sur un forum, menus et fils d'Ariane seront correctement affichés, alors qu'en utilisant une variable de session ou un cookie pour passer les paramètres, dans les cas précités tout s'afficherait fermé puisque l'accès à un cookie ou une variable de session n'est possible que si la session a débuté... Utiliser les paramètres d'url est donc le seul moyen pour pouvoir pointer sur le site depuis l'extérieur de celui-ci et qu'il s'affiche avec ses arborescences ouvertes et pertinentes. Conséquence directe : les moteurs de recherches archivent vos pages avec des arborescences et fils d'Ariane corrects !

(o) Arbor et les styles CSS :

Arbor utilise sa propre feuille de style CSS (mnu/arbor.css). TOUS les styles utilisés en interne par Arbor sont encapsulés dans un style conteneur (".arbor") dont ils sont des styles enfants. Des collisions de noms entre les classes de style du document hôte et les styles d'Arbor sont donc hautement improbable.

_____

Pour plus d'info sur le fonctionnement interne d'Arbor, voir le code du script (qui est abondamment commenté).

 

 > Interface de la classe Arbor

 

 

Arbor Home

 

Home Accueil

Contact Chercher

Contact Contact

Site Plan Plan du site

Page top Haut de page

Valid XHTML 1.0 Strict