function _content_menu_menu_item_target_types_alter in Content Menu 7
Same name and namespace in other branches
- 8 content_menu.menu_admin.inc \_content_menu_menu_item_target_types_alter()
Actual implementation for content_menu_menu_item_target_types_alter().
Extend the target types for a new menu item provided by default. See content_menu.api.php for further documentation.
1 call to _content_menu_menu_item_target_types_alter()
File
- ./
content_menu.menu_admin.inc, line 720 - Menu Management Workflow improvements.
Code
function _content_menu_menu_item_target_types_alter(&$target_types, &$context) {
$target_types['url'] = array(
'label' => t('URL'),
'handler' => 'content_menu_menu_form_handler_url',
'clean_menu_save_message' => TRUE,
);
$target_types['dummy'] = array(
'label' => t('Placeholder'),
'handler' => 'content_menu_menu_form_handler_dummy',
'clean_menu_save_message' => FALSE,
);
foreach (node_type_get_types() as $node_type) {
if (user_access('create ' . $node_type->type . ' content') || user_access('administer nodes')) {
$node_menu_options = variable_get('menu_options_' . $node_type->type, array(
'main-menu' => 'main-menu',
));
if (in_array($context['menu_name'], $node_menu_options)) {
$target_types['node_' . $node_type->type] = array(
'label' => t('New @type', array(
'@type' => t($node_type->name),
)),
'handler' => 'content_menu_menu_form_handler_node',
'arguments' => array(
'type' => $node_type->type,
),
'clean_menu_save_message' => TRUE,
);
}
}
}
$target_types['existing'] = array(
'label' => t('Existing content'),
'handler' => 'content_menu_menu_form_handler_menu_position_existing',
'clean_menu_save_message' => TRUE,
);
if (module_exists('views')) {
$target_types['existing_view'] = array(
'label' => t('Existing view'),
'handler' => 'content_menu_menu_form_handler_existing_view',
'clean_menu_save_message' => TRUE,
);
}
if (module_exists('menu_position') && user_access('administer menu positions')) {
$target_types['menu_position_rule'] = array(
'label' => t('Menu position rule'),
'handler' => 'content_menu_menu_form_handler_menu_position_rule',
'clean_menu_save_message' => TRUE,
);
}
}