You are here

function commerce_views_display_plugin_style_add_to_cart_form::render_grouping_sets in Commerce Views Display 7

Render the grouping sets.

Plugins may override this method if they wish some other way of handling grouping.

Parameters

$sets: Array containing the grouping sets to render.

$level: Integer indicating the hierarchical level of the grouping.

Return value

string Rendered output of given grouping sets.

Overrides views_plugin_style::render_grouping_sets

File

includes/views/plugins/commerce_views_display_plugin_style_add_to_cart_form.inc, line 189
Contains the views ui tabs style plugin.

Class

commerce_views_display_plugin_style_add_to_cart_form
Style plugin to render each item in an add to cart form

Code

function render_grouping_sets($sets, $level = 0) {
  $output = '';
  foreach ($sets as $set) {
    $row = reset($set['rows']);

    // Render as a grouping set.
    if (is_array($row) && isset($row['group'])) {
      $output .= theme(views_theme_functions('views_view_grouping', $this->view, $this->display), array(
        'view' => $this->view,
        'grouping' => $this->options['grouping'][$level],
        'grouping_level' => $level,
        'rows' => $set['rows'],
        'fields' => $set['fields'],
        'title' => $set['group'],
        'add_to_cart_form' => !empty($set['add_to_cart_form']) ? $set['add_to_cart_form'] : array(),
        'product_display_id' => $set['product_display_id'],
      ));
    }
    else {

      //dpm($set['rows'], 'rows in render sets');
      if ($this
        ->uses_row_plugin()) {
        foreach ($set['rows'] as $index => $row) {
          $this->view->row_index = $index;
          $set['rows'][$index] = $this->row_plugin
            ->render($row);
        }
      }

      //dpm($set['rows'], 'rows in render sets after row_plugin');
      $output .= theme($this
        ->theme_functions(), array(
        'view' => $this->view,
        'options' => $this->options,
        'grouping_level' => $level,
        'rows' => $set['rows'],
        'fields' => $set['fields'],
        'title' => $set['group'],
        'add_to_cart_form' => !empty($set['add_to_cart_form']) ? $set['add_to_cart_form'] : array(),
        'product_display_id' => $set['product_display_id'],
      ));
    }
  }
  unset($this->view->row_index);
  return $output;
}