You are here

public function views_plugin_style::render_fields in Views (for Drupal 7) 7.3

Same name and namespace in other branches
  1. 6.3 plugins/views_plugin_style.inc \views_plugin_style::render_fields()
  2. 6.2 plugins/views_plugin_style.inc \views_plugin_style::render_fields()

Render all of the fields for a given style and store them on the object.

Parameters

array $result: The result array from $view->result

2 calls to views_plugin_style::render_fields()
views_plugin_style::get_field in plugins/views_plugin_style.inc
Get a rendered field.
views_plugin_style::render_grouping in plugins/views_plugin_style.inc
Group records as needed for rendering.

File

plugins/views_plugin_style.inc, line 541
Definition of views_plugin_style.

Class

views_plugin_style
Base class to define a style plugin handler.

Code

public function render_fields($result) {
  if (!$this
    ->uses_fields()) {
    return;
  }
  if (!isset($this->rendered_fields)) {
    $this->rendered_fields = array();
    $this->view->row_index = 0;
    $keys = array_keys($this->view->field);

    // If all fields have a field::access FALSE there might be no fields, so
    // there is no reason to execute this code.
    if (!empty($keys)) {
      foreach ($result as $count => $row) {
        $this->view->row_index = $count;
        foreach ($keys as $id) {
          $this->rendered_fields[$count][$id] = $this->view->field[$id]
            ->theme($row);
        }
        $this->row_tokens[$count] = $this->view->field[$id]
          ->get_render_tokens(array());
      }
    }
    unset($this->view->row_index);
  }
  return $this->rendered_fields;
}