HTML_TreeMenu

このページでは、ひとつひとつ順を追って HTML_TreeMenu を動かしていきます。

ファイルのインストール

HTML_TreeMenu を使用するには、プロジェクトの htdocs ディレクトリにいくつかのファイルを置く必要があります。

これは、ハードディスクドライブ上の $pear_data_dir/HTML_TreeMenu か、あるいはオンラインの PEAR CVS-Web から取得できます。

シンプルな例


<?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);

// ジェネレータを選択します。DHTML あるいは Listbox のいずれかを使用できます
$tree = new HTML_TreeMenu_DHTML($menu);

echo $tree->toHTML();

?>

ツリーの作成法

ツリーを構築するには次の 3 種類の方法があります。

手書き

これは '困難な' 方法です。 先ほどの例 のように、各ノードを手書きしていくことになります。

XML のインポート

所定のフォーマットの XML ファイルを読み込んでツリー構造を構築することができます。 XML_Tree オブジェクトの文字列をサポートしています。

例 47-156XML フォーマット

<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>

例 47-157文字列の例 (未テスト)


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

// XML ファイルを読み込みます
$xml file_get_contents('tree.xml');

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

// ジェネレータを選択します。DHTML あるいは Listbox のいずれかを使用できます
//$tree = new HTML_TreeMenu_Listbox($menu);
$tree = new HTML_TreeMenu_DHTML($menu);

echo $tree->toHTML();

?>