function menu_fields_entity_info in Menu Item Fields 7
Implements hook_entity_info().
File
- ./
menu_fields.module, line 725 - Main file contain hooks/functions.
Code
function menu_fields_entity_info() {
// Add a bundle for every activated menu in the fields settings.
$menus = menu_get_menus();
$enabled_menus = menu_fields_enabled_menus();
$bundles = array();
foreach ($menus as $key => $value) {
// Always use underscores for menu key hyphens,
// because hyphens are not allowed for bundle names.
$machine_name = menu_fields_create_machine_name($key);
$bundles[$machine_name] = array(
'label' => $value,
);
if (in_array($key, $enabled_menus)) {
$bundles[$machine_name]['admin'] = array(
'path' => 'admin/structure/menu/manage/%',
'real path' => 'admin/structure/menu/manage/' . str_replace('_', '-', $machine_name),
'bundle argument' => 4,
'access callback' => 'menu_fields_admin_access',
'access arguments' => array(
4,
),
);
}
}
$info['menu_fields'] = array(
'label' => t('Menu Fields'),
'controller class' => 'EntityAPIController',
'base table' => 'menu_fields',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'id',
'bundle' => 'menu_name',
),
'bundle keys' => array(
'bundle' => 'menu_name',
),
'bundles' => $bundles,
'entity class' => 'Entity',
'module' => 'menu_fields',
'view modes' => array(
'full' => array(
'label' => t('Full'),
'default' => FALSE,
),
'block' => array(
'label' => t('Block'),
'default' => FALSE,
),
),
);
return $info;
}