You are here

function _field_weight_field_info_instances in Field display weights (per node) 7.2

Wrap field_info_instances() and only return fields not marked as hidden

NOTE: This function would need to be rewritten if ever allow conditionally *showing* fields hidden on the Manage Display page.

2 calls to _field_weight_field_info_instances()
field_weight_display_overview_form in ./field_weight.module
Admin form displayed at node/%/display.
field_weight_display_overview_form_submit in ./field_weight.module

File

./field_weight.module, line 412
Field display weight module.

Code

function _field_weight_field_info_instances($bundle, $type) {
  static $default_is_full = array();
  if (!isset($default_is_full[$type])) {
    $settings = field_bundle_settings($bundle, $type);
  }

  // Get all field instances for this bundle type
  $instances = field_info_instances($bundle, $type);

  // Remove field instances marked as hidden
  foreach ($instances as $instance_key => $instance) {
    foreach ($instance['display'] as $display_key => $view_mode) {
      if (in_array($display_key, array(
        'default',
        'full',
      ))) {
        if ($view_mode['type'] == 'hidden') {
          unset($instances[$instance_key]);
        }
      }
    }
  }
  return $instances;
}