danielebarchiesi@2: danielebarchiesi@2: */ danielebarchiesi@2: danielebarchiesi@2: /** danielebarchiesi@2: * Implements hook_views_api(). danielebarchiesi@2: */ danielebarchiesi@2: function flexslider_views_views_api() { danielebarchiesi@2: return array( danielebarchiesi@2: 'api' => 3, danielebarchiesi@2: ); danielebarchiesi@2: } danielebarchiesi@2: danielebarchiesi@2: /** danielebarchiesi@2: * Add a preprocessor for flexslider for dealing with FlexSlider views danielebarchiesi@2: */ danielebarchiesi@2: function flexslider_views_preprocess_flexslider(&$vars) { danielebarchiesi@2: // Only run the preprocessor if it is a view danielebarchiesi@2: if (!empty($vars['view'])) { danielebarchiesi@2: // Prepare all data to be passed to theme_flexslider(). danielebarchiesi@2: $items = array(); danielebarchiesi@2: $view = $vars['view']; danielebarchiesi@2: $settings = array(); danielebarchiesi@2: $settings['optionset'] = $vars['options']['optionset']; danielebarchiesi@2: danielebarchiesi@2: $row_plugin = $view->style_plugin->row_plugin; danielebarchiesi@2: danielebarchiesi@2: foreach ($vars['rows'] as $id => $row) { danielebarchiesi@2: // Render the row into a slide danielebarchiesi@2: $view->row_index = $id; danielebarchiesi@2: $item['slide'] = $row_plugin->render($row); danielebarchiesi@2: danielebarchiesi@2: $items[] = $item; danielebarchiesi@2: } danielebarchiesi@2: danielebarchiesi@2: // Add the slide items to the variables danielebarchiesi@2: $vars['items'] = $items; danielebarchiesi@2: danielebarchiesi@2: // Add the attributes danielebarchiesi@2: $settings['attributes']['id'] = $vars['options']['id']; danielebarchiesi@2: danielebarchiesi@2: // Reset the options to the processed values danielebarchiesi@2: $vars['settings'] = $settings; danielebarchiesi@2: } danielebarchiesi@2: }