function content_menu_form_alter in Content Menu 8
Same name and namespace in other branches
- 7 content_menu.module \content_menu_form_alter()
Implements hook_form_alter().
Improve menu item management for node edit forms.
File
- ./
content_menu.module, line 379
Code
function content_menu_form_alter(&$form, &$form_state, $form_id) {
if (isset($form['#node_edit_form'])) {
// Add link to menu overview / admin form to menu fieldset.
if (user_access('administer menu')) {
if ($form['#node_edit_form'] && isset($form['menu'])) {
$menu = explode(':', $form['menu']['link']['parent']['#default_value']);
$form['menu']['link']['menu_admin_link'] = array(
'#type' => 'markup',
'#markup' => l(t('Manage menu structure') . ' …', 'admin/structure/menu/manage/' . $menu[0], array(
'attributes' => array(
'target' => '_blank',
),
)),
);
}
}
if (isset($form['menu'])) {
if (isset($_GET['menu_link_path']) && $_GET['menu_link_path'] == 'menu-dummy') {
// If this node is being created to replace a menu dummy, substitute the usual menu form for a description of what will happen.
$form['menu']['enabled']['#access'] = FALSE;
$form['menu']['link']['#access'] = FALSE;
$trail = content_menu_get_menu_trail($_GET['menu_mlid']);
$form['menu']['menu_dummy_replace'] = array(
'#markup' => t('A link to this node will replace the menu dummy at <br> %trail', array(
'%trail' => implode(' » ', $trail),
)),
);
$form['title']['#default_value'] = $form['title_field']['und']['0']['value']['#default_value'] = $_GET['menu_title'];
}
else {
// Hide description field from menu item fieldset.
$form['menu']['link']['description']['#access'] = FALSE;
// Pre-Populate menu item fields, if given via querystring.
if (isset($_GET['menu_title'])) {
$menu_item = content_menu_get_menu_item_from_querystring();
// Set node form's menu item input field according to query string input.
$form['menu']['enabled']['#default_value'] = 1;
$form['menu']['link']['hidden']['#value'] = $menu_item['hidden'];
$form['menu']['link']['link_title']['#default_value'] = $menu_item['title'];
$form['menu']['link']['parent']['#default_value'] = $menu_item['name'] . ':' . $menu_item['plid'];
$form['menu']['link']['weight']['#default_value'] = $menu_item['weight'];
$form['title']['#default_value'] = $form['title_field']['und']['0']['value']['#default_value'] = $menu_item['title'];
}
}
}
}
}