function fieldable_panels_panes_admin_menu_map_alter in Fieldable Panels Panes (FPP) 7
Implements hook_admin_menu_map_alter().
File
- ./
fieldable_panels_panes.module, line 511 - Maintains an entity that appears as panel pane content.
Code
function fieldable_panels_panes_admin_menu_map_alter(array &$map) {
if (!module_exists('field_ui')) {
return;
}
// Add mapping for the individual fields if the Field UI module is enabled,
// and the mappings are not already added by field_ui_admin_menu_map().
$bundles = array();
$info = entity_get_info('fieldable_panels_pane');
foreach ($info['bundles'] as $bundle_name => $bundle_info) {
if (isset($bundle_info['admin'])) {
$admin_path = $bundle_info['admin']['path'];
// Fields mapping may already be supported by field_ui_admin_menu_map()
// so only add it if it doesn't exist.
if (isset($map["{$admin_path}/fields/%field_ui_menu"])) {
continue;
}
$fields = array();
foreach (field_info_instances('fieldable_panels_pane', $bundle_name) as $field) {
$fields[] = $field['field_name'];
}
if (!empty($fields)) {
$map["{$admin_path}/fields/%field_ui_menu"]['parent'] = "{$admin_path}/fields";
$map["{$admin_path}/fields/%field_ui_menu"]['arguments'][] = array(
'%ctools_export_ui' => array(
$bundle_name,
),
'%field_ui_menu' => $fields,
);
}
}
}
}