1 taxonomy.module | taxonomy_entity_info() |
Implements hook_entity_info().
File
- core/
modules/ taxonomy/ taxonomy.module, line 85 - Enables the organization of content into categories.
Code
function taxonomy_entity_info() {
$entity_info = array(
'taxonomy_term' => array(
'label' => t('Taxonomy term'),
'bundle label' => t('Vocabulary'),
'entity class' => 'TaxonomyTerm',
'controller class' => 'TaxonomyTermController',
'base table' => 'taxonomy_term_data',
'token type' => 'term',
'fieldable' => TRUE,
'redirect support' => TRUE,
'entity keys' => array(
'id' => 'tid',
'bundle' => 'vocabulary',
),
'bundle keys' => array(
'bundle' => 'machine_name',
),
'bundles' => array(),
'view modes' => array(
// @todo Display mode for display as a field (when attached to nodes etc).
'full' => array(
'label' => t('Taxonomy term page'),
'custom settings' => FALSE,
),
'token' => array(
'label' => t('Tokens'),
'custom settings' => FALSE,
),
),
),
);
// If the cache table has been created, then enable entity caching.
if (db_table_exists('cache_entity_taxonomy_term')) {
$entity_info['taxonomy_term']['entity cache'] = TRUE;
$entity_info['taxonomy_term']['field cache'] = FALSE;
}
foreach (taxonomy_vocabulary_load_multiple(FALSE) as $machine_name => $vocabulary) {
$entity_info['taxonomy_term']['bundles'][$machine_name] = array(
'label' => $vocabulary->name,
'admin' => array(
'path' => 'admin/structure/taxonomy/%taxonomy_vocabulary',
'real path' => 'admin/structure/taxonomy/' . $machine_name,
'bundle argument' => 3,
'access arguments' => array('administer taxonomy'),
),
);
}
return $entity_info;
}