<?php require_once 'DB/NestedSet.php'; require_once 'DB/NestedSet/Output.php'; require_once 'HTML/Menu.php'; $DatabasePointer = mysql_connect("localhost", "user", "pwd"); mysql_select_db("database", $DatabasePointer); $dsn = 'mysql://user:pwd@localhost/database'; // needed colums in table: $params = array( 'id' => 'id', 'parent_id' => 'rootid', 'left_id' => 'l', 'right_id' => 'r', 'order_num' => 'norder', 'level' => 'level', 'name' => 'name', ); $nestedSet =& DB_NestedSet::factory('DB', $dsn, $params); $nestedSet->setAttr(array( 'node_table' => 'nested_set', 'lock_table' => 'nested_set_locks', 'secondarySort' => 'name', ) ); $parent = $nestedSet->createRootNode(array('name' =>'root 1'), false, true); $nestedSet->createSubNode($parent, array('name' => 'node 1.1')); $nestedSet->createSubNode($parent, array('name' =>'node 1.2')); $data = $nestedSet->getAllNodes(true);
foreach ($data as $id => $node) { $data[$id]['url'] = 'index.php?nodeID=' . $node['id']; }
$params = array( 'structure' => $data, 'titleField' => 'name', 'urlField' => 'url'); $output =& DB_NestedSet_Output::factory($params, 'Menu'); $structure = $output->returnStructure(); $menu = & new HTML_Menu($structure, 'sitemap'); $menu->forceCurrentUrl($currentUrl); $menu->show(); ?>
|