Projet

Général

Profil

Paste
Télécharger (1,52 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / ctools / views_content / plugins / views / views_content_plugin_style_ctools_context.inc @ 6e3ce7c2

1
<?php
2

    
3
/**
4
 * @file
5
 * Contains the default style plugin.
6
 */
7

    
8
/**
9
 * Default style plugin to render rows one after another with no
10
 * decorations.
11
 *
12
 * @ingroup views_style_plugins
13
 */
14
class views_content_plugin_style_ctools_context extends views_plugin_style {
15
  public $rows = array();
16

    
17
  /**
18
   * Render the display in this style.
19
   */
20
  public function render() {
21
    if (!empty($this->view->display_handler->previewing)) {
22
      return parent::render();
23
    }
24

    
25
    $this->rows = array();
26
    $this->groups = array();
27
    if ($this->uses_row_plugin() && empty($this->row_plugin)) {
28
      vpr('views_plugin_style_default: Missing row plugin');
29
      return;
30
    }
31

    
32
    // Some engines like solr key results on ids, but rendering really expects
33
    // things to be keyed exclusively by row index. Using array_values()
34
    // guarantees that.
35
    $this->view->result = array_values($this->view->result);
36

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

    
40
    // Render each group separately and concatenate.  Plugins may override this
41
    // method if they wish some other way of handling grouping.
42
    $output = '';
43
    foreach ($sets as $title => $records) {
44
      foreach ($records as $row_index => $row) {
45
        $this->view->row_index = $row_index;
46
        $this->rows[$row_index] = $this->row_plugin->render($row);
47
        $this->groups[$row_index] = $title;
48
      }
49
    }
50
    unset($this->view->row_index);
51
    return $this->rows;
52
  }
53

    
54
}