You are here

function field_view_mode_settings in Drupal 7

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

7 calls to field_view_mode_settings()
FieldInfo::prepareInstance in modules/field/field.info.class.inc
Prepares an instance definition for the current run-time context.
field_extra_fields_get_display in modules/field/field.module
Returns the display settings to use for pseudo-fields in a given view mode.
field_get_display in modules/field/field.module
Returns the display settings to use for an instance in a given view mode.
field_ui_display_overview_form in modules/field_ui/field_ui.admin.inc
Form constructor for the field display settings for a given view mode.
field_ui_display_overview_form_submit in modules/field_ui/field_ui.admin.inc
Form submission handler for field_ui_display_overview_form().

... See full list

1 string reference to 'field_view_mode_settings'
field_info_cache_clear in modules/field/field.info.inc
Clears the field info cache without clearing the field data cache.

File

modules/field/field.module, line 621
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() 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];
}