public function PowerMenuNodeHandler::menuFormAlter in Power Menu 7.2
Overrides PowerMenuHandlerInterface::menuFormAlter
See also
PowerMenuHandlerInterface::menuFormAlter()
File
- plugins/
menu_handlers/ PowerMenuNodeHandler.class.php, line 55
Class
- PowerMenuNodeHandler
- Implementation of the interface PowerMenuHandlerInterface.
Code
public function menuFormAlter(&$menu_item_form, &$form_state) {
$form = array();
$bundles = power_menu_get_entities_and_bundles();
$bundles_used = variable_get('power_menu_node_bundles', array());
$bundles_selected = array();
foreach ($bundles as $key => $value) {
// Is this bundel used by a menu item. When not leave it as an option.
if (!empty($bundles_used[$key])) {
// Is it used from this menu item. Leave it as selected option
if ($bundles_used[$key]['mlid'] == $menu_item_form['mlid']['#value']) {
$bundles_selected[] = $key;
}
else {
unset($bundles[$key]);
}
}
}
$form['power_menu_node_bundles'] = array(
'#type' => 'select',
'#multiple' => TRUE,
'#options' => $bundles,
'#default_value' => $bundles_selected,
'#description' => t('Select the entity/bundle on which this menu item should be marked as active. The entity/bundels that are not available for selection are already being used for an other menu item.'),
);
return $form;
}