このページでは、ひとつひとつ順を追って
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_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();
?>
|
|