You are here

function field_weight_entity_view_alter in Field display weights (per node) 7

Same name and namespace in other branches
  1. 7.2 field_weight.module \field_weight_entity_view_alter()

Implements hook_entity_view_alter().

File

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

Code

function field_weight_entity_view_alter(&$build, $type) {
  if ($type == 'node') {

    // May be replaced with option variables, if this expands to all entities.
    $enabled_node_types = variable_get('field_weight_node_types', array());

    // Check if the bundle type is enabled.
    if (in_array($build['#bundle'], $enabled_node_types, TRUE)) {

      // See if any field weights have been set.
      $node_weights = _field_weight_get_node_weight($build['#node']->nid);
      if ($node_weights) {

        // Amend weights for entity fields,
        // if there is a db entry the weights will be changed for all fields stored.
        foreach ($node_weights as $key => $values) {
          $build[$key]['#weight'] = $values['weight'];
          if ($values['hidden'] == TRUE) {

            // If field has been hidden set this to FALSE, therefore won't be displayed.
            $build[$key]['#access'] = FALSE;
          }
        }
      }
    }
  }
}