function menu_block_split_block in Menu Block Split 6.2
Same name and namespace in other branches
- 5.2 menu_block_split.module \menu_block_split_block()
- 5 menu_block_split.module \menu_block_split_block()
- 6 menu_block_split.module \menu_block_split_block()
Implementation of hook_block().
File
- ./
menu_block_split.module, line 143 - Allow a menu to be split over two blocks Developed by Robert Garrigos <robert@garrigos.cat> Modified for Drupal 6.x by Frank Meyerer <meyerer@digi-info.de> http://www.digi-info.de currently maintained by Bob Hutchinson…
Code
function menu_block_split_block($op = 'list', $delta = 0, $edit = array()) {
$howmany = variable_get('menu_block_split_howmany', 1);
switch ($op) {
case 'list':
for ($i = 1; $i <= $howmany; $i++) {
$mid = variable_get('menu_block_split_' . $i, '');
$item = menu_load($mid);
$blocks[$i]['info'] = 'Menu block split 1st level (' . $item['title'] . ')';
}
$blocks[0]['info'] = 'Menu block split 2nd level';
return $blocks;
case 'view':
// Delta 0 is the 2nd level block
if ($delta > 0) {
$tree = menu_tree_page_data(variable_get('menu_block_split_' . $delta, ''));
$block['subject'] = check_plain(variable_get('menu_block_splittitle_' . $delta, ''));
$block['content'] = theme('menu_block_split_menu', variable_get('menu_block_split_' . $delta, ''), $tree, $delta);
}
else {
$current_router_item = menu_get_item();
for ($i = 1; $i <= $howmany; $i++) {
$name = variable_get('menu_block_split_' . $i, '');
$active = menu_get_active_menu_name();
if ($active == $name) {
$trail = menu_get_active_trail();
$tree = menu_tree_page_data($name);
$info = menu_block_split_get_first_level($trail);
$block['subject'] = $info['title'];
$block['content'] = theme('menu_block_split_menu', $name, $tree, $delta);
return $block;
}
}
}
return $block;
case 'cache':
return BLOCK_NO_CACHE;
}
}