整合了NiceMenu的手册菜单
<?php
$book_top_page = 1390 ;
$book_top_title = "menu name" ;
$levels_deep = 2 ;
$nice_direction = "right" ;
$emulate_book_block = true ;
if (! function_exists ( 'book_struct_recurse' )){
function book_struct_recurse ( $nid , $levels_deep , $children , $current_lineage = array(), $emulate_book_block = true ) {
$struct = '' ;
if ( $children [ $nid ] && ( $levels_deep > 0 || ( $emulate_book_block && in_array ( $nid , $current_lineage )))) {
$struct = '
- ' ;
- ' . l ( $node -> title , 'node/' . $node -> nid ) . '
- ' . l ( $node -> title , 'node/' . $node -> nid ) . '
foreach ( $children [ $nid ] as $key => $node ) {
if ( $tree = book_struct_recurse ( $node -> nid , $levels_deep - 1 , $children , $current_lineage , $emulate_book_block )) {
$struct .= '
' ;
}
else {
if ( $children [ $node -> nid ]){
$struct .= '
' ;
}
else {
$struct .= '
' ;
}
}
}
$struct .= '
' ;
return $struct ;
}
}
}
$current_lineage = array();
$result = db_query ( db_rewrite_sql ( 'SELECT n.nid, n.title, b.parent, b.weight FROM {node} n INNER JOIN {book} b ON n.nid = b.nid WHERE n.status = 1 ORDER BY b.weight, n.title' ));
while ( $node = db_fetch_object ( $result )) {
if (! $children [ $node -> parent ]) {
$children [ $node -> parent ] = array();
}
array_push ( $children [ $node -> parent ], $node );
if ( arg ( 0 ) == 'node' && is_numeric ( arg ( 1 )) && arg ( 1 ) == $node -> nid ) {
$_temp = book_location ( $node );
foreach ( $_temp as $key => $val ){
$current_lineage [] = $val -> nid ;
}
$current_lineage [] = arg ( 1 );
}
}
echo "
" ;
?>
