fr   gb


Arbor
Le script Arbor > En savoir plus > Trucs et combines

Trucs et combines

up1. Comment faire pour...

up1.1. Ouvrir une page avec un état précis de l'arborescence

Normalement, tout lien standard (c.à.d. hors ceux de l'arborescence) vers une page contenant une arborescence gérée par Arbor ouvre cette page avec son arborescence fermée (seules les lignes racines sont visibles).

Il existe deux méthodes pour confectionner un lien qui ouvrira cette page avec un état de développement précis et pertinent de son arborescence :

* Méthode "en dur" : ouvrez la page-cible en cliquant dans l'arborescence et recopiez son url dans la barre d'adresse de votre navigateur en conservant tous les paramètres de l'url.

Pour que l'url de la page soit moins longue, il est préférable d'utiliser le menu en validant son paramètre de compactage d'url (voir : paramètres)

Attention ! si vous modifiez ensuite la structure de l'arborescence (ajouts ou suppression de lignes) il faudra recopier de nouveau l'url de la page sinon l'arborescence s'affichera de manière incorrecte.

* Méthode dynamique : utilisez Arbor et sa méthode ->write(lnk:....) pour générer dynamiquement une balise de lien <a ... > qui gérera de manière synchrone les autres affichages de l'arborescence.

Avec cette seconde méthode (la bonne méthode !) vous pouvez réorganiser vos pages et votre arborescence sans vous soucier des liens présents dans le corps de vos pages, ils se mettront à jour tout seuls.

up1.2. Empêcher l'ouverture de l'arborescence

Il peut être utile de forcer une page contenant une arborescence et appelée par un menu Arbor à s'ouvrir avec celle-ci fermée, bien que l'url contienne des paramètres qui normalement la feraient se déployer.

Ceci peut survenir pour des raisons diverses, la plus fréquente étant que la page appelée par un menu contient une arborescence différente de celle de la page appelante, dans le cas d'un chaînage de menus, par exemple (cf.).

Pour empêcher le déploiement de l'arborescence de la page appelée, il suffit de placer le symbole "*" en tête du lien de la ligne d'arborescence dans le fichier des données.

Syntaxe du fichier de menu :

"Ma ligne|maPage.php", // ouvrira "maPage" avec l'arborescence ouverte

"Ma ligne|*maPage.php", // ouvrira "maPage" avec l'arborescence fermée

Nb : en fait, le symbole "*" indique au script de ne pas utiliser les paramètres d'url transférés à la page appelée.

up1.3. Récupérer les paramètres d'un menu parent

En cas de chaînage de menus, les paramètres du menu parent doivent avoir été enregistrés dans un cookie nommé "zretour". Charge à vous d'enregistrer ce cookie par votre code, Arbor recherche ce cookie mais ne le génère pas (cela serait trop rigide, tout dépend de l'architecture du site).

Si un lien d'une ligne de menu commence par ":", Arbor utilisera pour cette ligne la chaîne de paramètres contenue dans ce cookie (s'il existe) en lieu et place de la chaîne courante.

Syntaxe du fichier de menu :

"Ma ligne|:maPageParente.php",// ouvrira "maPageParente" avec l'état mémorisé de son arborescence

up1.4. Modifier ponctuellement le paramétrage d'affichage

Les paramètres d'affichage d'une arborescence sont inscrits dans le fichier de menu mais il est possible de les modifier au fil du document appelant (la modification doit se faire avant d'utiliser ->write(). La modification au fil du document est même la seule façon de modifier les paramètres d'affichage en mode "explorateur de fichier" puisque ce mode n'utilise pas de fichier de menu.

En fait, l'inscription des paramètres d'affichage dans le fichier de menu est facultative, elle facilite l'utilisation du script et la maintenance des arborescences des sites, c'est tout.

Exemples de modification de l'aspect de l'arborescence du site (doublons du menu latéral) :

<?php

$monMenu->tree = 't'; // utiliser des triangles comme icône de treillis

$monMenu->symb = ''; // supprimer les icônes symboliques

$monMenu->hilight = '#FFCCCC'; // changer la couleur du surlignage de la sélection

$monMenu->decal = 80; // augmenter le décalage unitaire d'indentation

$monMenu->write(); // afficher l'arborescence

?>

Résultat :

 

<?php

$monMenu->retic = 1; // afficher le réseau

$monMenu->tree = 'p'; // utiliser des plus/moins comme icône de treillis

$monMenu->symb = 'd'; // supprimer des dossiers comme icônes symboliques

$monMenu->hilight = '#FEFFA3'; // changer la couleur du surlignage de la sélection

$monMenu->write(); // afficher l'arborescence

?>

Résultat :

On peut aussi apporter quelques modifications à la feuille de style par défaut, arbor.css, et les possibilités deviennent encore plus vastes... Par exemple, on peut paramétrer l'affichage avec decal = 0 et appliquer (dans arbor.css) une bordure à chaque style de niveau pour obtenir graphiquement un menu dynamique de type barre verticale de boutons empilés, etc.

up1.5. Conserver le développement de l'arborescence avec une page non référencée dans le menu

Si un document contenant une arborescence pointe sur une page contenant elle-aussi cette arborescence MAIS que la page n'est pas directement référencée dans l'arborescence, cette sous-page s'ouvrira avec son arborescence fermée. C'est le cas quand un site contient de nombreuses pages qu'il serait fastidieux, lourd et inutile d'incorporer dans le menu (une longue liste de notices individuelles de trucs et de machins par exemple, ou des pages générées dynamiquement)

La méthode ->write(lnk:....) n'est pas utilisable dans ce cas, car elle ne peut pointer que vers des pages référencées dans l'arborescence.

Pour résoudre ce problème, il suffit de passer la chaîne des paramètres d'état à la page appelée, de la manière suivante (on suppose que l'objet arborescence s'appelle $monMenu) :

<a href="maPage.php?<?php echo $monMenu->geturlpara() ?>"> mon lien </a>

Ainsi, la page pointée s'ouvrira avec un état de l'arborescence inchangé par rapport à la page appelante.

up1.6. Affecter une icône précise à une ligne précise

Dans un menu arborescent, les icônes dynamiques sont modifiables par les attributs ->tree (icônes de treillis) et ->symb (icônes symboliques) de l'objet arborescence. Mais ce paramétrage modifie les icônes de TOUTE l'arborescence.

Les icônes symboliques (l'icône dite symbolique est la deuxième icône d'une ligne, en partant de la gauche) sont modifiables ligne par ligne. Pour cela, il faut, dans le fichier de menu, ajouter le nom du fichier gif de l'icône désirée (sans l'extension) à la fin de la ligne concernée, précédé de "#".

"Ma ligne|maPage.php#monIc // monIc.gif sera utilisée comme icône de cette ligne

Nb : une icône ainsi imposée n'est pas dynamique (elle ne se modifie pas en fonction de l'état ouvert ou fermé) mais l'icône de treillis qui lui est éventuellement associée reste dynamique.

up1.7. Savoir si une nouvelle version d'Arbor est disponible

Pas besoin de se souvenir de l'adresse du site d'Arbor, car Arbor recherche automatiquement sur celui-ci le numéro de la dernière version disponible à chaque fois qu'il rédige un journal d'exécution et affiche ce numéro dans le journal.

Voir aussi : Le journal d'exécution

up1.8. Modifier les types de fichiers reconnus par l'explorateur de fichiers

Arbor, quand il fonctionne en mode "explorateur de fichier", reconnaît par défaut certains types de fichiers et leur affecte une icône spécifique. Cette reconnaissance est basique car il est inutile d'alourdir et ralentir le script avec la recherche et la reconnaissance de multiples types de fichiers dont l'utilisateur n'a que faire...

Pour personnaliser les types de fichiers, ouvrez le fichier de configuration filetypes.php. Celui-ci contient la marche à suivre. Voici la visualisation de ce fichier :

/***************************************************************************//** * Ce fichier permet de configurer les types de fichiers reconnus par Arbor * quand il est utilisé en mode "explorateur de fichiers". * * Pour ajouter une extension à un type de fichier : ajoutez-la dans l'array * correspondant au type. N'oubliez pas le point ! * * Pour ajouter un type de fichier : * 1. Confectionnez une icône gif 16x16 et nommez-la avec un * nom court et parlant. * 2. Ajoutez une ligne '...' => array(...,...), inscrivez comme premier élément * de cette ligne le nom de votre icône, SANS l'extension ".gif" ! * 3. Complétez la ligne avec les extensions de fichiers (en minuscule) que * vous voulez associer à ce type * * Exemple : vous désirez qu'Arbor associe l'icône nommée truc.gif avec les * fichiers d'extensions .xxx et .yyy : * ... * ... * 'truc' => array('.xxx','.yyy'), * ... *******************************************************************************/ $file_types = array( 'img' => array('.gif','.png','.jpg','.jpeg','.ico','.bmp','.tif'), 'vid' => array('.divx','.avi','.flv','.mpg','.mpeg'), 'mus' => array('.mp3','.mid','.wav','.abc'), 'htm' => array('.htm','.html','.php','.asp','.js'), 'arc' => array('.zip','.bz2','.rar','.tar','.gz','.gzip'), );

 

Explorer le site <> Le journal d'exécution

 

 

Arbor Home

 

Home Accueil

Contact Chercher

Contact Contact

Site Plan Plan du site

Page top Haut de page

Valid XHTML 1.0 Strict