You are here

function theme_views_bonus_view_grid in Views Bonus Pack 5

File

./views_bonus_grid.module, line 13

Code

function theme_views_bonus_view_grid($view, $nodes, $type) {
  drupal_add_css(drupal_get_path('module', 'views_bonus_grid') . '/views_bonus.css');
  $fields = _views_get_fields();
  $content = '';

  // set default count.
  $cols = $view->gridcount ? $view->gridcount : 4;
  $count = 0;
  $row_count = 0;
  $total = count($nodes);
  foreach ($nodes as $node) {
    $item = '';
    if ($count % $cols == 0) {
      $stripe = ++$row_count % 2 ? 'odd' : 'even';
      $content .= '<tr class="' . $stripe . '">';
    }
    foreach ($view->field as $field) {
      if ($fields[$field['id']]['visible'] !== FALSE) {
        if ($field['label']) {
          $item .= "<div class='view-label view-label-{$field['queryname']}'>" . $field['label'] . "</div>";
        }
        $item .= "<div class='view-field view-data-{$field['queryname']}'>" . views_theme_field('views_handle_field', $field['queryname'], $fields, $field, $node, $view) . "</div>";
      }
    }
    $content .= "<td class='view-grid-item'><div class='view-item view-item-{$view->name}'>{$item}</div></td>\n";
    $count++;
    if ($count % $cols == 0 || $count == $total) {
      $content .= '</tr>';
    }
  }
  if ($content) {
    return '<table class="view-grid view-grid-' . $view->name . '">' . $content . '</table>';
  }
}