You are here

function commerce_views_display_field_view_field in Commerce Views Display 7

Render a field render array with wrapper using display info

Parameters

$display_info: 'field_id' => field id usually views field id, 'field_name' => real field name, 'is_field' => TRUE if a field field, 'product_display_id' => unique id of product display / add to cart form wrapper, 'default_view_mode' => fallback display view mode when no display is provided 'display' => An array of display settings

2 calls to commerce_views_display_field_view_field()
commerce_views_display_add_to_cart_form_attributes_refresh in ./commerce_views_display.module
Ajax callback: returns AJAX commands when an attribute widget is changed.
commerce_views_display_plugin_style_add_to_cart_form::render_grouping in includes/views/plugins/commerce_views_display_plugin_style_add_to_cart_form.inc
Group records as needed for rendering.

File

./commerce_views_display.module, line 151
Provides a views display plugin to render an add to cart form

Code

function commerce_views_display_field_view_field($entity_type, $entity, $field_name, $display_info, $value = NULL) {
  $element = array();

  // render field if no value was given
  if (!empty($display_info['is_field'])) {
    if (!empty($display_info['display'])) {
      $element = field_view_field($entity_type, $entity, $field_name, $display_info['display']);
    }
    if (empty($element) && !empty($display_info['default_view_mode'])) {
      $element = field_view_field($entity_type, $entity, $field_name, $display_info['default_view_mode']);
    }
  }
  if (empty($element)) {
    if (isset($value)) {
      $element = array(
        '#markup' => $value,
      );
    }
    else {
      return array();
    }
  }

  // build field wrapper classes
  $wrapper_classes = commerce_views_display_field_wrapper_classes($entity_type, $entity, $field_name, $display_info);

  // wrap element
  $element += array(
    '#prefix' => '<div class="' . implode(' ', $wrapper_classes) . '">',
    '#suffix' => '</div>',
  );
  return $element;
}