You are here

function views_plugin_style::render in Views (for Drupal 7) 6.3

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

Render the display in this style.

4 methods override views_plugin_style::render()
views_plugin_style_jump_menu::render in plugins/views_plugin_style_jump_menu.inc
Render the display in this style.
views_plugin_style_rss::render in plugins/views_plugin_style_rss.inc
Render the display in this style.
views_plugin_style_summary::render in plugins/views_plugin_style_summary.inc
Render the display in this style.
views_plugin_style_summary_jump_menu::render in plugins/views_plugin_style_summary_jump_menu.inc
Render the display in this style.

File

plugins/views_plugin_style.inc, line 230

Class

views_plugin_style
Base class to define a style plugin handler.

Code

function render() {
  if ($this
    ->uses_row_plugin() && empty($this->row_plugin)) {
    vpr('views_plugin_style_default: Missing row plugin');
    return;
  }

  // Group the rows according to the grouping field, if specified.
  $sets = $this
    ->render_grouping($this->view->result, $this->options['grouping']);

  // Render each group separately and concatenate.  Plugins may override this
  // method if they wish some other way of handling grouping.
  $output = '';
  foreach ($sets as $title => $records) {
    if ($this
      ->uses_row_plugin()) {
      $rows = array();
      foreach ($records as $row_index => $row) {
        $this->view->row_index = $row_index;
        $rows[$row_index] = $this->row_plugin
          ->render($row);
      }
    }
    else {
      $rows = $records;
    }
    $output .= theme($this
      ->theme_functions(), $this->view, $this->options, $rows, $title);
  }
  unset($this->view->row_index);
  return $output;
}