You are here

function viewfield_pre_render in Viewfield 7.3

Same name and namespace in other branches
  1. 7.2 viewfield.module \viewfield_pre_render()

#pre_render callback for a viewfield field.

See also

viewfield_field_formatter_view()

viewfield_post_render()

1 string reference to 'viewfield_pre_render'
viewfield_element_info in ./viewfield.module
Implements hook_element_info().

File

./viewfield.module, line 281
Defines a field type to display a view.

Code

function viewfield_pre_render($element) {
  $stack =& drupal_static('viewfield_stack', array());

  // Abort rendering in case the view could not be loaded.
  if (empty($element['#view'])) {

    // @todo Output an error message?
    $element['#printed'] = TRUE;
  }
  elseif (isset($stack[$element['#entity_type']][$element['#entity_id']])) {
    $element['#printed'] = TRUE;
  }
  else {
    $stack[$element['#entity_type']][$element['#entity_id']] = TRUE;

    // Override the view's path to the current path. Otherwise, exposed
    // views filters would submit to the front page.
    $element['#view']->override_path = current_path();

    // @todo Store views arguments serialized.
    $element['#view_arguments'] = _viewfield_get_view_args($element['#view_arguments'], $element['#entity_type'], $element['#entity']);
  }
  return $element;
}