diff -u b/core/modules/entity_reference/entity_reference.module b/core/modules/entity_reference/entity_reference.module --- b/core/modules/entity_reference/entity_reference.module +++ b/core/modules/entity_reference/entity_reference.module @@ -115,13 +115,14 @@ global $user; $target_type = $field['settings']['target_type']; $entity_info = entity_get_info($target_type); + $bundles = entity_get_bundles($target_type); // Get the bundle. if (!empty($instance['settings']['handler_settings']['target_bundles']) && count($instance['settings']['handler_settings']['target_bundles']) == 1) { $bundle = reset($instance['settings']['handler_settings']['target_bundles']); } else { - $bundle = reset($entity_info['bundles']); + $bundle = reset($bundles); } foreach ($items as $delta => $item) { @@ -367,11 +368,11 @@ // Rebuild the array by changing the bundle key into the bundle label. $target_type = $field['settings']['target_type']; - $entity_info = entity_get_info($target_type); + $bundles = entity_get_bundles($target_type); $return = array(); foreach ($options as $bundle => $entity_ids) { - $bundle_label = check_plain($entity_info['bundles'][$bundle]['label']); + $bundle_label = check_plain($bundles[$bundle]['label']); $return[$bundle_label] = $entity_ids; } diff -u b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/entity_reference/selection/SelectionBase.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/entity_reference/selection/SelectionBase.php --- b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/entity_reference/selection/SelectionBase.php +++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/entity_reference/selection/SelectionBase.php @@ -64,6 +64,7 @@ */ public static function settingsForm(&$field, &$instance) { $entity_info = entity_get_info($field['settings']['target_type']); + $bundles = entity_get_bundles($field['settings']['target_type']); // Merge-in default values. if (!isset($instance['settings']['handler_settings'])) { @@ -78,9 +79,9 @@ ); if (!empty($entity_info['entity_keys']['bundle'])) { - $bundles = array(); - foreach ($entity_info['bundles'] as $bundle_name => $bundle_info) { - $bundles[$bundle_name] = $bundle_info['label']; + $bundle_options = array(); + foreach ($bundles as $bundle_name => $bundle_info) { + $bundle_options[$bundle_name] = $bundle_info['label']; } $target_bundles_title = t('Bundles'); @@ -95,8 +96,8 @@ $form['target_bundles'] = array( '#type' => 'checkboxes', '#title' => $target_bundles_title, - '#options' => $bundles, - '#default_value' => (!empty($instance['settings']['handler_settings']['target_bundles'])) ? $instance['settings']['handler_settings']['target_bundles'] : array_keys($bundles), + '#options' => $bundle_options, + '#default_value' => (!empty($instance['settings']['handler_settings']['target_bundles'])) ? $instance['settings']['handler_settings']['target_bundles'] : array_keys($bundle_options), '#size' => 6, '#multiple' => TRUE, '#element_validate' => array('_entity_reference_element_validate_filter'), diff -u b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceEntityFormatter.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceEntityFormatter.php --- b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceEntityFormatter.php +++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/formatter/EntityReferenceEntityFormatter.php @@ -36,12 +36,10 @@ * Overrides Drupal\entity_reference\Plugin\field\formatter\EntityReferenceFormatterBase::settingsForm(). */ public function settingsForm(array $form, array &$form_state) { - $entity_info = entity_get_info($this->field['settings']['target_type']); + $view_modes = entity_get_view_modes($this->field['settings']['target_type']); $options = array(); - if (!empty($entity_info['view modes'])) { - foreach ($entity_info['view modes'] as $view_mode => $view_mode_settings) { - $options[$view_mode] = $view_mode_settings['label']; - } + foreach ($view_modes as $view_mode => $view_mode_settings) { + $options[$view_mode] = $view_mode_settings['label']; } $elements['view_mode'] = array( @@ -67,9 +65,9 @@ public function settingsSummary() { $summary = array(); - $entity_info = entity_get_info($this->field['settings']['target_type']); + $view_modes = entity_get_view_modes($this->field['settings']['target_type']); $view_mode = $this->getSetting('view_mode'); - $summary[] = t('Rendered as @mode', array('@mode' => isset($entity_info['view modes'][$view_mode]['label']) ? $entity_info['view modes'][$view_mode]['label'] : $view_mode)); + $summary[] = t('Rendered as @mode', array('@mode' => isset($view_modes[$view_mode]['label']) ? $view_modes[$view_mode]['label'] : $view_mode)); $summary[] = $this->getSetting('links') ? t('Display links') : t('Do not display links'); return implode('
', $summary); diff -u b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteTagsWidget.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteTagsWidget.php --- b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteTagsWidget.php +++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteTagsWidget.php @@ -40,7 +40,7 @@ $value = array(); // If a value was entered into the autocomplete. $handler = entity_reference_get_selection_handler($this->field, $this->instance); - $entity_info = entity_get_info($this->field['settings']['target_type']); + $bundles = entity_get_bundles($this->field['settings']['target_type']); $auto_create = isset($this->instance['settings']['handler_settings']['auto_create']) ? $this->instance['settings']['handler_settings']['auto_create'] : FALSE; if (!empty($element['#value'])) { @@ -62,7 +62,7 @@ if ($match) { $value[] = array('target_id' => $match); } - elseif ($auto_create && (count($this->instance['settings']['handler_settings']['target_bundles']) == 1 || count($entity_info['bundles']) == 1)) { + elseif ($auto_create && (count($this->instance['settings']['handler_settings']['target_bundles']) == 1 || count($bundles) == 1)) { // Auto-create item. see entity_reference_field_presave(). $value[] = array('target_id' => 'auto_create', 'label' => $entity); } diff -u b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteWidget.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteWidget.php --- b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteWidget.php +++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/field/widget/AutocompleteWidget.php @@ -73,7 +73,7 @@ $value = $handler->validateAutocompleteInput($element['#value'], $element, $form_state, $form, !$auto_create); } - if (!$value && $auto_create && (count($this->instance['settings']['handler_settings']['target_bundles']) == 1 || count($entity_info['bundles']) == 1)) { + if (!$value && $auto_create && (count($this->instance['settings']['handler_settings']['target_bundles']) == 1)) { // Auto-create item. see entity_reference_field_presave(). $value = array( 'target_id' => 'auto_create', diff -u b/core/modules/entity_reference/lib/Drupal/entity_reference/Tests/EntityReferenceAdminTest.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Tests/EntityReferenceAdminTest.php --- b/core/modules/entity_reference/lib/Drupal/entity_reference/Tests/EntityReferenceAdminTest.php +++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Tests/EntityReferenceAdminTest.php @@ -84,8 +84,8 @@ // The base handler settings should be displayed. $entity_type = 'node'; - $entity_info = entity_get_info($entity_type); - foreach ($entity_info['bundles'] as $bundle_name => $bundle_info) { + $bundles = entity_get_bundles($entity_type); + foreach ($bundles as $bundle_name => $bundle_info) { $this->assertFieldByName('instance[settings][handler_settings][target_bundles][' . $bundle_name . ']'); } diff -u b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/entity_reference/selection/TermSelection.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/entity_reference/selection/TermSelection.php --- b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/entity_reference/selection/TermSelection.php +++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/entity_reference/selection/TermSelection.php @@ -43,11 +43,11 @@ $options = array(); - $entity_info = entity_get_info('taxonomy_term'); - $bundles = !empty($this->instance['settings']['handler_settings']['target_bundles']) ? $this->instance['settings']['handler_settings']['target_bundles'] : array_keys($entity_info['bundles']); + $bundles = entity_get_bundles('taxonomy_term'); + $bundle_names = !empty($this->instance['settings']['handler_settings']['target_bundles']) ? $this->instance['settings']['handler_settings']['target_bundles'] : array_keys($bundles); - foreach ($bundles as $bundle) { - if ($vocabulary = entity_load('taxonomy_vocabulary',$bundle)) { + foreach ($bundle_names as $bundle) { + if ($vocabulary = entity_load('taxonomy_vocabulary', $bundle)) { if ($terms = taxonomy_get_tree($vocabulary->id(), 0)) { foreach ($terms as $term) { $options[$vocabulary->id()][$term->tid] = str_repeat('-', $term->depth) . check_plain($term->name);