HTML_TreeMenu

Cette page présente les étapes de base pour travailler avec HTML_TreeMenu.

Installation des fichiers

Avant d'utiliser HTML_TreeMenu, vous devez placer quelques fichiers dans le répertoire htdocs de vos projets:

Vous pouvez les trouver sur votre installation pear dans $pear_data_dir/HTML_TreeMenu ou online sur le webCVS de PEAR .

Exemple simple


<?php

require_once 'HTML/TreeMenu.php';

$menu_styles      = new HTML_TreeNode(array('text'=>'Styles'));
$menu_pays        = new HTML_TreeNode(array('text'=>'Countries'));
$menu_restaurants = new HTML_TreeNode(array('text'=>'Restaurants'));
$menu_plats       = new HTML_TreeNode(array('text'=>'Menus'));

for ($i 1$i 10$i) {
    $menu_styles->addItem(new HTML_TreeNode(array('icon'=>'Image '.($i 0))));
    $menu_pays->addItem(new HTML_TreeNode(array('icon'=>'Image '.($i 10))));
    $menu_restaurants->addItem(new HTML_TreeNode(array('icon'=>'Image '.($i 20))));
    $menu_plats->addItem(new HTML_TreeNode(array('icon'=>'Image '.($i 30))));
}

$menu  = new HTML_TreeMenu();
$menu->addItem($menu_styles);
$menu->addItem($menu_pays);
$menu->addItem($menu_restaurants);
$menu->addItem($menu_plats);

// Choisir un générateur.
// Vous pouvez générer du DHTML ou une liste
$tree = new HTML_TreeMenu_DHTML($menu);

echo $tree->toHTML();

?>

Tree-construction methods

Actuellemen, vous avez trois diffréentes méthodes pour construire l'arboresence:

à la main

C'est la voie compliquée, tel que le montre l'exemple ci-dessous. Vous devez indiquer chaque noeud.

En important un XML

Vous pouvez importer un fichier XML formaté dans une structure d'arbre. It supports string of XML_Tree object :)

Exemple 47-156. XML Format

<treemenu>
  <node text="First node" icon="folder.gif" expandedIcon="folder-expanded.gif" />
  <node text="Second node" icon="folder.gif" expandedIcon="folder-expanded.gif">
    <node text="Sub node" icon="folder.gif" expandedIcon="folder-expanded.gif" />
  </node>
  <node text="Third node" icon="folder.gif" expandedIcon="folder-expanded.gif">
</treemenu>

Exemple 47-157. Exemple avec une chaîne (non testé)


<?php
require_once 'HTML/TreeMenu.php';

// On charge le fichier XML
$xml file_get_contents('tree.xml');

$menu = new HTML_TreeMenu();
$menu->createFromXML($xml);


// Choisir un générateur.
// Vous pouvez générer du DHTML ou une liste
//$tree = new HTML_TreeMenu_Listbox($menu);
$tree = new HTML_TreeMenu_DHTML($menu);

echo $tree->toHTML();

?>