Einführung

Einführung – Menüstruktur und unterstützte Ausgabemodi

Menü-Hash-Struktur

Die Menüstruktur wird durch einen mehrdimensionalen Hash definiert. Dadurch ist das Erzeugen und Durchlaufen sehr einfach:

Mehrdimensionaler Menü-Hash

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

Jeder Eintrag sollte minimal 'url'- und 'title'-Schlüssel besitzen und desweiteren einen 'sub'-Eintrag für untergeordnete Menüeinträge. Die Schlüssel im obersten Array dienen als Hauptknoten und sollten eindeutig sein.

Die Menüeinträge können selbstdefinierte Schlüssel beinhalten. Sind diese vorhanden, dann werden sie von den Renderen für Erzeugung der Ausgabe benutzt, üblicherweise wird der Inhalt gleichnamigen Platzhaltern im Template zugewiesen.

Unterstützte Augabemodi

HTML_Menu unterstützt fünf Ausgabemodi:

  • 'tree' (Standard),

  • 'rows'

  • 'urhere'

  • 'prevnext' und

  • 'sitemap'.

Im Folgenden werden wir die oben definierte Menüstruktur als Beispiel benutzen, wir gehen davon aus, dass der Eintrag 'Menu item 1.2' ausgewählt wurde.

'tree'

Dieser Typ entspricht der internen Struktur des Menü-Hashs. Die verschiedene Ebenen des Menüs werden durch Einrückungen verdeutlicht, es wird nur die Elemente angezeigt, die unmittelbar zum aktiven Element führen, bzw. die unmittelbar diesem folgen.

Output for menu type 'tree'

Menu item 1
    Menu item 1.1
    Menu item 1.2
        Menu item 1.2.1
        Menu item 1.2.2
Menu item 2
         

'rows'

Dieser Typ ist ähnlich zu 'tree', aber die verschiedenen Ebenen werden nicht eingerückt, sondern in verschiedenen Zeilen des Menüs dargestellt.

Output for menu type 'rows'

Menu item 1  Menu item 2
Menu item 1.1  Menu item 1.2
Menu item 1.2.1  Menu item 1.2.2
         

'urhere'

Das ist die sogenannte Brotkrummen-Navigation, sie zeigt wo man sich gerade innerhalb der Webseite befindet.

Output for menu type 'urhere'

Menu item 1 >> Menu item 1.2
         

'prevnext'

This is the menu often used in documentation (including the PEAR manual), the links lead to previous, next and parent entries of the current entry.

Output for menu type 'prevnext'

<< Menu item 1.1  ^ Menu item 1 ^  Menu item 1.2.1 >>
      

'sitemap'

Dieser entspricht dem 'tree'-Typ, es werden aber Menüeinträge angezeigt.

Beispiel

Einfaches Beispiel

<?php
// Load the class
require_once 'HTML/Menu.php';

// Instantiate the menu object, we presume that $data contains menu structure
$menu =& new HTML_Menu($data'tree');

// Output the menu
$menu->show();
?>
HTML_Menu (Previous) Initializes the menu, sets the type and menu structure. (Next)
Last updated: Sun, 19 Dec 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.