Introduction

Introduction – Structure de menu et modes d'affichage supportés

Structure du hashage du menu

La structure du menu est définie par un hashage multi-dimentionnel. Ceci permet de générer et traverser rapidement et simplement le menu :

Hashage multi-dimentionnel du menu

<?php
array(
    
=> array(
        
'title' => 'Élément du menu 1',
        
'url' => '/item1.php',
        
'sub' => array(
            
11 => array('title' => 'Élément du menu 1.1''url' => '/item1.1.php'),
            
12 => array(
                
'title' => 'Élément du menu 1.2',
                
'url' => '/item1.2.php',
                
'sub' => array(
                    
121 => array('title' => 'Élément du menu 1.2.1''url' => '/item1.2.1.php'),
                    
122 => array('title' => 'Élément du menu 1.2.2''url' => '/item1.2.2.php')
                )
            )
        )
    ),
    
=> array(
        
'title' => 'Élément du menu 2',
        
'url' => '/item2.php',
        
'sub' => array(
            
21 => array('title' => 'Élément du menu 2.1''url' => '/item2.1.php'),
            
22 => array('title' => 'Élément du menu 2.2''url' => '/item2.2.php')
        )
    )
);
?>

Chaque entrée doit au moins avoir les clés 'url' et 'title' et peut également avoir une clé 'sub' contenant le fils de cette entrée. Notez que les clés dans les tableaux des entrées servent en tant qu'identifiants de noeuds et doivent être uniques.

Les entrées du menu peuvent également contenir des clés personnalisées. Si de telles clés sont présentes, alors elles seront utilisées par le rendu pour créer l'affichage (ceci signifie généralement que le contenu de ces clés sera assigné au marqueur du template portant le même nom).

Modes d'affichage supportés

La classe HTML_Menu supporte 5 modes d'affichage : 'tree' (par défaut), 'rows', 'urhere', 'prevnext' et 'sitemap'. Utilisez le tableau défini ci-dessus en tant que structure du menu en supposant que l'élément 'Élément du menu 1.2' est actuellement actif et essayez chaque type de menu.

'tree'

Ce type de menu suit au mieux la structure interne du hashage du menu. Les niveaux différents du menu sont marqués à l'aide d'indentation, seul l'élément précédent l'élément actif ou le suivant immédiatement sera affiché.

Affichage pour le menu du type 'tree'

        Élément menu 1
        Élément menu 1.1
        Élément menu 1.2
        Élément menu 1.2.1
        Élément menu 1.2.2
        Élément menu 2
       

'rows'

Ce type est similaire au type 'tree', mais les différents niveaux ne sont pas marqués à l'aide d'indentation, mais sont affichés sur différentes lignes du menu.

Affichage pour le menu du type 'rows'

        Élément menu 1  Élément menu 2
        Élément menu 1.1  Élément menu 1.2
        Élément menu 1.2.1  Élément menu 1.2.2
       

'urhere'

C'est la navigation appelée 'breadcrumb', permettant de comprendre facilement sa position dans la hiérarchie du site.

Affichage pour le menu du type 'urhere'

        Élément menu 1 >> Élément menu 1.2
       

'prevnext'

C'est ce type de menu généralement utilisé pour la documentation (y compris pour le manuel PEAR), les liens précédent, suivant et parent de l'entrée courante sont affichés.

Affichage pour le menu du type 'prevnext'

        << Élément menu 1.1  ^ Élément menu ^  Élément menu 1.2.1 >>
       

'sitemap'

C'est le type de menu 'tree' mais toutes les entrées sont affichées.

Exemple d'utilisation

Exemple d'utilisation basicVery basic usage example

<?php
// Chargement de la classe
require_once 'HTML/Menu.php';

// Instancie l'objet du menu, nous supposons que $data contient la structure du menu
$menu =& new HTML_Menu($data'tree');

// Affichage du menu
$menu->show();
?>
HTML_Menu (Previous) Initialise le menu, définit le type et la structure (Next)
Last updated: Sun, 29 Aug 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.