function menu_block_split_block in Menu Block Split 6
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.2 menu_block_split.module \menu_block_split_block()
Implementation of hook_block().
File
- ./
menu_block_split.module, line 126 - Allow to have an splitted menu within 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
Code
function menu_block_split_block($op = 'list', $delta = 0, $edit = array()) {
switch ($op) {
case 'list':
for ($i = 1; $i <= variable_get('menu_block_split_howmany', 1); $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'] = 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 <= variable_get('menu_block_split_howmany', 1); $i++) {
$name = variable_get('menu_block_split_' . $i, '');
$active = menu_get_active_menu_name();
if ($active != $name) {
menu_set_active_menu_name($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;
break;
case 'cache':
return BLOCK_NO_CACHE;
}
}