function field_attach_preprocess

Populate the template variables with the field values available for rendering.

The $variables array will be populated with all the field instance values associated with the given entity type, keyed by field name; in case of translatable fields the language currently chosen for display will be selected.

Parameters

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

$entity: The entity with fields to render.

$element: The structured array containing the values ready for rendering.

$variables: The variables array is passed by reference and will be populated with field values.

Related topics

5 calls to field_attach_preprocess()
FieldAttachOtherTestCase::testFieldAttachView in modules/field/tests/field.test
Test field_attach_view() and field_attach_prepare_view().
template_preprocess_comment in modules/comment/comment.module
Process variables for comment.tpl.php.
template_preprocess_node in modules/node/node.module
Processes variables for node.tpl.php
template_preprocess_taxonomy_term in modules/taxonomy/taxonomy.module
Process variables for taxonomy-term.tpl.php.
template_preprocess_user_profile in modules/user/user.pages.inc
Process variables for user-profile.tpl.php.

File

modules/field/field.attach.inc, line 1272

Code

function field_attach_preprocess($entity_type, $entity, $element, &$variables) {
    list(, , $bundle) = entity_extract_ids($entity_type, $entity);
    foreach (field_info_instances($entity_type, $bundle) as $instance) {
        $field_name = $instance['field_name'];
        if (isset($element[$field_name]['#language'])) {
            $langcode = $element[$field_name]['#language'];
            $variables[$field_name] = isset($entity->{$field_name}[$langcode]) ? $entity->{$field_name}[$langcode] : NULL;
        }
    }
    // Let other modules make changes to the $variables array.
    $context = array(
        'entity_type' => $entity_type,
        'entity' => $entity,
        'element' => $element,
    );
    drupal_alter('field_attach_preprocess', $variables, $context);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.