view->display_handler->previewing)) { return parent::render(); } $this->rows = array(); $this->groups = array(); if ($this->uses_row_plugin() && empty($this->row_plugin)) { vpr('views_plugin_style_default: Missing row plugin'); return; } // Some engines like solr key results on ids, but rendering really expects // things to be keyed exclusively by row index. Using array_values() // guarantees that. $this->view->result = array_values($this->view->result); // 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) { foreach ($records as $row_index => $row) { $this->view->row_index = $row_index; $this->rows[$row_index] = $this->row_plugin->render($row); $this->groups[$row_index] = $title; } } unset($this->view->row_index); return $this->rows; } }