public function EntityReference_SelectionHandler_Generic_taxonomy_term::getReferencableEntities in Entity reference 7
Implements EntityReferenceHandler::getReferencableEntities().
Overrides EntityReference_SelectionHandler_Generic::getReferencableEntities
File
- plugins/
selection/ EntityReference_SelectionHandler_Generic.class.php, line 536
Class
- EntityReference_SelectionHandler_Generic_taxonomy_term
- Override for the Taxonomy term type.
Code
public function getReferencableEntities($match = NULL, $match_operator = 'CONTAINS', $limit = 0) {
if ($match || $limit) {
return parent::getReferencableEntities($match, $match_operator, $limit);
}
$options = array();
$entity_type = $this->field['settings']['target_type'];
// We imitate core by calling taxonomy_get_tree().
$entity_info = entity_get_info('taxonomy_term');
$bundles = !empty($this->field['settings']['handler_settings']['target_bundles']) ? $this->field['settings']['handler_settings']['target_bundles'] : array_keys($entity_info['bundles']);
foreach ($bundles as $bundle) {
if ($vocabulary = taxonomy_vocabulary_machine_name_load($bundle)) {
if ($terms = taxonomy_get_tree($vocabulary->vid, 0, NULL, TRUE)) {
foreach ($terms as $term) {
$options[$vocabulary->machine_name][$term->tid] = str_repeat('-', $term->depth) . check_plain(entity_label('taxonomy_term', $term));
}
}
}
}
return $options;
}