You are here

function template_preprocess_views_nivo_slider_view_nivo_sliderfields in Views Nivo Slider 6.2

Same name and namespace in other branches
  1. 6 views_nivo_slider.module \template_preprocess_views_nivo_slider_view_nivo_sliderfields()
  2. 7.3 views_nivo_slider.module \template_preprocess_views_nivo_slider_view_nivo_sliderfields()
  3. 7 views_nivo_slider.module \template_preprocess_views_nivo_slider_view_nivo_sliderfields()
  4. 7.2 views_nivo_slider.module \template_preprocess_views_nivo_slider_view_nivo_sliderfields()

Implementation of template preprocess for the view fields

File

./views_nivo_slider.module, line 77
The implementation of Views Nivo Slider module.

Code

function template_preprocess_views_nivo_slider_view_nivo_sliderfields(&$vars) {
  $view =& $vars['view'];
  $options = $vars['options'];
  $style = $view->style_options;
  $presetname = $view->style_options['imagefield_preset'];
  $thumbnail_url = $title = $link = NULL;

  // Force URL format for image_field
  if (isset($view->field[$options['image_field']])) {
    $view->field[$options['image_field']]->options['format'] = 'path_plain';
    $view->field[$options['image_field']]->options['alter']['make_link'] = 0;
  }
  if ($style['controlNav'] == 'thumbsField') {
    $view->field[$style['controlNavThumbsField']]->options['format'] = 'path_plain';
    $view->field[$style['controlNavThumbsField']]->options['alter']['make_link'] = 0;
  }

  // link
  if (isset($view->field[$options['link_field']])) {

    //Node: Link
    if ($view->field[$options['link_field']]->definition['handler'] == 'views_handler_field_node_link') {
      $link = url('node/' . $view->result[$view->row_index]->nid);
    }
    else {
      $view->field[$options['link_field']]->options['format'] = 'plain';
    }
  }
  $attributes = NULL;
  foreach ($view->field as $id => $field) {
    $field_output = $view->field[$id]
      ->theme($vars['row']);
    switch ($id) {
      case $options['image_field']:
        $image_url = $field_output;
        break;
      case $options['title_field']:
        $title = $field_output;
        $title_id = $title ? views_css_safe($id . "-" . $field->view->row_index) : '';
        if ($title) {
          $view->_vns_captions[$title_id] = $title;
          $title_id = '#' . $title_id;
        }
        break;
      case $options['link_field']:
        if ($field->definition['handler'] != 'views_handler_field_node_link') {
          $link = check_url($field_output);
        }
        break;
      case $style['controlNavThumbsField']:
        if ($style['controlNav'] == 'thumbsField') {
          if (!empty($style['controlNavThumbsICField'])) {
            $turl = imagecache_create_url($style['controlNavThumbsICField'], $field_output);
          }
          else {
            $turl = $field_output;
          }
          $attributes = array(
            'rel' => $turl,
          );
        }
        break;
    }
  }
  $img = theme('imagecache', $presetname, $image_url, '', $title_id, $attributes, TRUE);
  if ($link) {
    $img = '<a href="' . $link . '" class="views-processed">' . $img . '</a>';
  }
  $object = new StdClass();
  $object->image = $img;
  $vars['content'] = $img;
}