function _taxonomy_menu_menu in Taxonomy menu 6
Same name and namespace in other branches
- 5 taxonomy_menu.inc \_taxonomy_menu_menu()
Implementation of hook_menu().
Its the main function for this module.
1 call to _taxonomy_menu_menu()
- taxonomy_menu_menu in ./
taxonomy_menu.module - Implementation of hook_menu().
File
- ./
taxonomy_menu.inc, line 131 - @author Jonathan Chaffer <jchaffer@structureinteractive.com> @author Bruno Massa <http://drupal.org/user/67164> taxonomy_menu.inc It Generates menu links for all taxonomy terms
Code
function _taxonomy_menu_menu() {
$items['admin/settings/taxonomy_menu'] = array(
'access arguments' => array(
'administer site configuration',
),
'description' => t('Global configuration of taxonomy menu functionality.'),
'file' => 'taxonomy_menu.inc',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'_taxonomy_menu_admin',
),
'path' => 'admin/settings/taxonomy_menu',
'title' => t('Taxonomy Menu settings'),
'type' => MENU_NORMAL_ITEM,
);
foreach (taxonomy_get_vocabularies() as $vocab) {
if (variable_get('taxonomy_menu_show_' . $vocab->vid, TAXONOMY_MENU_NONE)) {
$path = variable_get('taxonomy_menu_display_page', 'category') . '/' . $vocab->vid;
$items[$path] = array(
'access arguments' => array(
'access content',
),
'file' => 'taxonomy_menu.inc',
'page callback' => '_taxonomy_menu_page',
'title' => t($vocab->name),
'weight' => $vocab->weight,
);
$tree = taxonomy_get_tree($vocab->vid);
$old_depth = -1;
$old_path = $path;
foreach ($tree as $term) {
if ($term->depth <= $old_depth) {
$slashes_to_remove = $old_depth - $term->depth + 1;
for ($i = 0; $i < $slashes_to_remove; $i++) {
$old_path = substr($old_path, 0, strrpos($old_path, '/'));
}
}
$path = $old_path . '/' . $term->tid;
$old_depth = $term->depth;
$old_path = $path;
// Calculate the numbers of children nodes
$num = taxonomy_term_count_nodes($term->tid);
// If the number of children nodes of this term is
// zero and the Hide Empty Terms option is enabled,
// dont create the menu item
if (variable_get('taxonomy_menu_hide_empty', FALSE) == FALSE or $num != 0) {
$name = t($term->name);
if (variable_get('taxonomy_menu_display_num', FALSE) == TRUE) {
$name .= ' (' . $num . ')';
}
$items[$path] = array(
'access arguments' => array(
'access content',
),
'file' => 'taxonomy_menu.inc',
'page callback' => '_taxonomy_menu_page',
'description' => t($term->description),
'title' => $name,
'weight' => $term->weight,
);
}
}
}
}
return $items;
}