function field_view_mode_settings

Returns view mode settings in a given bundle.

Parameters

$entity_type: The type of entity; e.g. 'node' or 'user'.

$bundle: The bundle name to return view mode settings for.

Return value

An array keyed by view mode, with the following key/value pairs:

  • custom_settings: Boolean specifying whether the view mode uses a dedicated set of display options (TRUE), or the 'default' options (FALSE). Defaults to FALSE.

Related topics

5 calls to field_view_mode_settings()
DisplayOverview::form in drupal/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php
Overrides Drupal\field_ui\OverviewBase::form().
DisplayOverview::submit in drupal/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php
Overrides Drupal\field_ui\OverviewBase::submit().
FieldInstance::getFormatter in drupal/core/modules/field/lib/Drupal/field/FieldInstance.php
Returns a Formatter plugin for the instance.
field_extra_fields_get_display in drupal/core/modules/field/field.module
Returns the display settings to use for pseudo-fields in a given view mode.
_field_ui_view_mode_menu_access in drupal/core/modules/field_ui/field_ui.module
Access callback: Checks access for the 'view mode display settings' pages.
1 string reference to 'field_view_mode_settings'
field_info_cache_clear in drupal/core/modules/field/field.info.inc
Clears the field info cache without clearing the field data cache.

File

drupal/core/modules/field/field.module, line 706
Attach custom data fields to Drupal entities.

Code

function field_view_mode_settings($entity_type, $bundle) {
  $cache =& drupal_static(__FUNCTION__, array());
  if (!isset($cache[$entity_type][$bundle])) {
    $bundle_settings = field_bundle_settings($entity_type, $bundle);
    $settings = $bundle_settings['view_modes'];

    // Include view modes for which nothing has been stored yet, but whose
    // definition in hook_entity_info_alter() specify they should use custom
    // settings by default.
    $entity_info = entity_get_info($entity_type);
    foreach ($entity_info['view_modes'] as $view_mode => $view_mode_info) {
      if (!isset($settings[$view_mode]['custom_settings']) && $view_mode_info['custom_settings']) {
        $settings[$view_mode]['custom_settings'] = TRUE;
      }
    }
    $cache[$entity_type][$bundle] = $settings;
  }
  return $cache[$entity_type][$bundle];
}