function field_weight_entity_view_alter in Field display weights (per node) 7.2
Same name and namespace in other branches
- 7 field_weight.module \field_weight_entity_view_alter()
Implements hook_entity_view_alter().
1 call to field_weight_entity_view_alter()
File
- ./
field_weight.module, line 379 - 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']->vid);
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) {
// Only do anything if the field has a value, or at least exists
if (isset($build[$key])) {
$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;
}
}
}
}
}
}
}