Gestion des nœuds du plan du site : Différence entre versions
(→setLink($href, $onclick = '')) |
|||
| Ligne 1 : | Ligne 1 : | ||
| + | [[Catégorie:Plan du site]] | ||
| + | |||
== Structure du plan == | == Structure du plan == | ||
Version du 15 juin 2009 à 14:16
Sommaire
Structure du plan
Dans le plan du site, tout les nœuds ont un identifiant unique
les noeuds principaux sont des identifiants de délégation, par exemple sur un site avec une seule délégation on aura à la racine du plan du site :
- DGAll : branche contenant les nœuds toutes délégations confondues
- DG0 : branche contenant les nœuds hors délégation
- DG1 : branche contenant les nœuds de la première délégation
exemple de structure du plan du site pour le lien publication de la section utilisateur :
- root
- DGAll
- babUser
- babUserSection
- babUserPublication
- babUserSection
- babUser
- DG0
- babDG0User
- babDG0UserSection
- babDG0UserPublication
- babDG0UserSection
- babDG0User
- DGAll
Ajouter des nœuds dans le plan du site pour un module
Il faut s'enregistrer sur l'événement bab_eventBeforeSiteMapCreated qui permet d'être appelé avant la création du plan du site.
Méthodes de l'événement du plan de site
createItem($uid)
La méthode createItem permet de créer un instance de l'objet bab_siteMap_item, c'est l'objet utilisé lors de la création d'un nœud du plan du site.
addFolder($item)
Permet d'ajouter un nœud sur le plan de site qui sera considéré comme un répertoire (des enfants pourrons lui être ajoutés)
addFunction($item)
Permet d'ajouter un nœud sur le plan de site qui sera considéré comme une fonction, il ne pourra pas avoir de nœuds enfants
Exemple
Créer un nœud dans toutes les branches de délégation :
<source lang="php">
$delegations = bab_getUserVisiblesDelegations();
foreach($delegations as $id_delegation => $deleg) {
$core_prefix = false === $deleg['id'] ? 'bab' : 'babDG'.$deleg['id']; $addon_prefix = false === $deleg['id'] ? 'MyCustomAddon' : 'MyCustomAddonDG'.$deleg['id'];
$link = $event->createItem($addon_prefix.'Articles'); $link->setLabel('les articles de mon module'); $link->setLink('?tg=addon/MyCustomAddon/articles'); $link->setPosition(array('root', $id_delegation, $core.'User', $core.'UserSectionAddons')); $event->addFunction($link); }
</source>
les méthodes de bab_siteMap_item
setLabel($label)
Le libellé du lien ou du nœud si c'est un nœud non-cliquable. Le contenu doit être du texte brut
setDescription($description)
La description du nœud. dans le cas d'un menu, cette description pourra être utilisée en infobulle. Le contenu doit être du texte brut
setLink($href, $onclick = '')
Permet de définir le lien du nœud cliquable, il est possible de passer en deuxième paramètre en fonction javascript qui sera appelé sur l'évènement javascript "click"
setPosition($position)
Permet de définir la position du nœud dans l'arbre. Le paramètre doit être un tableau contenant tout les parents du nœud.
exemple :
<source lang="php"> $item->setPosition(array('root', 'DGAll')); </source>
addIconClassname($classname)
Permet de définir un nom de classe d'icône sur le nœud du plan de site. La classe sera utilisée ensuite par le Thème d'icônes si le skin du site utilise les classes fournies par le plan du site pour présenter des icônes associées aux fonctions d'Ovidentia.