You are here

sgrid_theme.inc in Sortable Grid Views Plugin 6

Same filename and directory in other branches
  1. 7 sgrid_theme.inc

Theme functions for Sortable Grid module

File

sgrid_theme.inc
View source
<?php

// $Id$

/**
 * @file 
 * Theme functions for Sortable Grid module
 */

/**
 * Display the view as an HTML list element
 */
function template_preprocess_views_view_sgrid(&$vars) {
  $view = $vars['view'];
  $handler = $view->style_plugin;
  $vars['class'] = views_css_safe($handler->options['class']);
  $vars['wrapper_class'] = views_css_safe($handler->options['wrapper_class']);
  $vars['wrapper_prefix'] = '';
  $vars['wrapper_suffix'] = '';
  $vars['list_type_prefix'] = '<' . $handler->options['type'] . '>';
  $vars['list_type_suffix'] = '</' . $handler->options['type'] . '>';
  if ($vars['wrapper_class']) {
    $vars['wrapper_prefix'] = '<div class="' . $vars['wrapper_class'] . '">';
    $vars['wrapper_suffix'] = '</div>';
  }
  if ($vars['class']) {
    $vars['list_type_prefix'] = '<' . $handler->options['type'] . ' class="' . $vars['class'] . '">';
  }

  // Add the 'end of line' class to the appropriate row
  $sgrid_end_of_line = array();
  foreach ($view->result as $id => $row) {
    if (is_int(($id + 1) / $view->style_options['row_length'])) {
      $vars['sgrid_end_of_line'][$id + 1] = ' sgrid-line-end';
    }
  }
  $vars['row_length'] = $view->style_options['row_length'];
  template_preprocess_views_view_unformatted($vars);
}
function template_preprocess_views_view_row_sgrid_style(&$vars) {
  $view = $vars['view'];

  // Loop through the fields for this view.
  $inline = FALSE;
  $vars['fields'] = array();

  // ensure it's at least an empty array.
  foreach ($view->field as $id => $field) {

    // render this even if set to exclude so it can be used elsewhere.
    $field_output = $view->style_plugin
      ->get_field($view->row_index, $id);
    $empty = $field_output !== 0 && empty($field_output);
    if (empty($field->options['exclude']) && (!$empty || empty($field->options['hide_empty']))) {
      $object = new stdClass();
      $object->content = $field_output;
      if (isset($view->field[$id]->field_alias) && isset($vars['row']->{$view->field[$id]->field_alias})) {
        $object->raw = $vars['row']->{$view->field[$id]->field_alias};
      }
      else {
        $object->raw = NULL;

        // make sure it exists to reduce NOTICE
      }
      $object->inline = !empty($vars['options']['inline'][$id]);
      $object->inline_html = $object->inline ? 'span' : 'div';
      if (!empty($vars['options']['separator']) && $inline && $object->inline && $object->content) {
        $object->separator = filter_xss_admin($vars['options']['separator']);
      }
      $inline = $object->inline;
      $object->handler =& $view->field[$id];
      $object->element_type = $object->handler
        ->element_type();
      $object->class = views_css_safe($id);
      $object->label = check_plain($view->field[$id]
        ->label());
      $vars['fields'][$id] = $object;
    }
  }

  // Add the row's nid to available variables for views-view-row-sgrid-style.tpl.php
  $vars['sgrid_nid'] = $view->result[$view->row_index]->nid;
}

Functions