Same name and namespace in other branches
  1. 8.x-3.x modules/views_slideshow_cycle/views_slideshow_cycle.theme.inc \_views_slideshow_cycle_preprocess_views_slideshow_pager_fields() 1 comment
  2. 8.x-4.x modules/views_slideshow_cycle/views_slideshow_cycle.theme.inc \_views_slideshow_cycle_preprocess_views_slideshow_pager_fields() 1 comment

Implements hook_preprocess_views_slideshow_pager_fields().

Related topics

1 call to _views_slideshow_cycle_preprocess_views_slideshow_pager_fields()
views_slideshow_cycle_preprocess_views_slideshow_pager_fields in modules/views_slideshow_cycle/views_slideshow_cycle.module
Implements hook_preprocess_views_slideshow_pager_fields().

File

modules/views_slideshow_cycle/views_slideshow_cycle.theme.inc, line 197

Code

function _views_slideshow_cycle_preprocess_views_slideshow_pager_fields(&$vars) {
    $slide_count = count($vars['view']->result);
    $options = $vars['view']->style_plugin->options['views_slideshow_cycle'];
    if ($vars['settings']['hide_on_single_slide'] && $slide_count == 1) {
        return;
    }
    $vars['rendered_field_items'] = [];
    for ($slide = 0, $count = 0; $slide < $slide_count; $count++) {
        $rendered_fields = [];
        foreach ($vars['settings']['views_slideshow_pager_fields']['views_slideshow_pager_fields_fields'] as $field => $use) {
            if ($use !== 0 && is_object($vars['view']->field[$field])) {
                $rendered_fields[] = [
                    '#theme' => $vars['view']->buildThemeFunctions('views_slideshow_pager_field_field'),
                    '#view' => $vars['view'],
                    '#label' => $vars['view']->field[$field]->options['label'],
                    '#output' => $vars['view']->style_plugin
                        ->getField($slide, $field),
                    '#css_identifier' => Html::cleanCssIdentifier($vars['view']->field[$field]->field),
                ];
            }
        }
        if (empty($vars['rendered_field_items']) && $options['items_per_slide_first']) {
            $slide += $options['items_per_slide_first_number'];
        }
        elseif ($options['items_per_slide']) {
            $slide += $options['items_per_slide'];
        }
        else {
            $slide += 1;
        }
        $vars['rendered_field_items'][] = [
            '#theme' => $vars['view']->buildThemeFunctions('views_slideshow_pager_field_item'),
            '#vss_id' => $vars['vss_id'],
            '#item' => $rendered_fields,
            '#count' => $count,
            '#location' => $vars['location'],
        ];
    }
}