Résumé de la classe
HTML_Menu_SigmaTreeRenderer -- Rendu HTML_Template_Sigma de base pour
les types de menu 'tree' et 'sitemap', où le niveau du menu est représenté par
des tags imbriqués.
Description
Le rendu génère un affichage similaire à HTML_Menu_DirectTreeRenderer mais offre plus de possibilités
de personnalisation à l'affichage.
Le rendu doit aussi fonctionner avec l'instance HTML_Template_IT,
mais à un gabarit de menus qui tend à avoir beaucoup de blocks ;
les fonctionnalités de
cache de HTML_Template_Sigma devraient
améliorer significativement les performances.
Structure du gabarit
Ceci est un gabarit minimal pour HTML_Menu_SigmaTreeRenderer,
contenant tous les blocks requis :
<!-- BEGIN mu_tree_loop -->
<!-- BEGIN mu_level_open -->
<ul>
<!-- END mu_level_open -->
<!-- BEGIN mu_entry_open -->
<li>
<!-- END mu_entry_open -->
<!-- BEGIN mu_active -->
<strong>{mu_title}</strong>
<!-- END mu_active -->
<!-- BEGIN mu_inactive -->
<a href="{mu_url}">{mu_title}</a>
<!-- END mu_inactive -->
<!-- BEGIN mu_activepath -->
<a href="{mu_url}"><em>{mu_title}</em></a>
<!-- END mu_activepath -->
<!-- BEGIN mu_entry_close -->
</li>
<!-- END mu_entry_close -->
<!-- BEGIN mu_level_close -->
</ul>
<!-- END mu_level_close -->
<!-- END mu_tree_loop -->
Un exemple pluscomplet montrant les possibilités de personnalisation peut être
trouvé dans l'archive du package.
Notez que les blocks et les marqueurs présents dans le gabarit ont le préfixe
mu_. Ceci est fait pour prévenir les conflits de noms avec les blocks
et les marqueurs existants, mu_ est le préfixe par défaut,
un autre préfixe peut être passé au constructeur de la classe.
Blocks dans le gabarit (sans préfixe)
tree_loop
Ce block doit toujours être présent et doit être un parent
pour tous les autres blocks. Il est utilisé pour implémenter
"flow", pour rendre les entrées les unes après les autres.
level_open, level_close
Ces blocks doivent être utilisés au début et à la fin de chaque niveau du menu.
Si les blocks spécifiques de niveau
%level%_level_open et
%level%_level_close sont présents, ils seront utilisés à la place.
entry_open, entry_close
Ces blocks doivent être utilisés au début et à la fin de chaque entrée du menu.
Si les blocks spécifiques de niveau %level%_entry_open et
%level%_entry_close sont présents, ils seront utilisés à la place.
inactive, active, activepath
Ces blocks sont utilisés pour afficher les entrées du menu, ils correspondent
à de possibiles types d'entrées.
Chaque block doit contenir un marqueur {title}
ainsi qu'un marqueur {url} placeholder.
Comme toujours, si d'autres clés sont présentes dans le tableau de menu original,
elles seront assignées aux marqueurs correspondant dans le gabarit.
Si le block spécifique de niveau %level%_%entry type% existe,
il sera utilisé à la place.
Architecture de la classe
HTML_Menu_SigmaTreeRenderer