viewscarousel.module in Views carousel 6
Same filename and directory in other branches
Provides a Views style plugin for jQuery jcarousel.
File
viewscarousel.moduleView source
<?php
/**
* @file
* Provides a Views style plugin for jQuery jcarousel.
*/
/**
* Implementation of hook_views_api().
*/
function viewscarousel_views_api() {
return array(
'api' => 2,
);
}
function template_preprocess_viewscarousel_view(&$vars) {
drupal_add_css(drupal_get_path('module', 'viewscarousel') . '/jquery.jcarousel.css');
drupal_add_css(drupal_get_path('module', 'viewscarousel') . '/skins/ie7/skin.css');
drupal_add_js(drupal_get_path('module', 'viewscarousel') . '/jquery.jcarousel.pack.js');
drupal_add_js(drupal_get_path('module', 'viewscarousel') . '/viewscarousel.js');
$options = viewscarousel_get_options($vars);
$view = $vars['view'];
$vars['viewscarousel_id'] = 'viewscarousel-' . $view->name . '-' . $view->current_display;
$vars['viewscarousel_class'] = viewscarousel_get_class($vars);
drupal_add_js(array(
'viewscarousel' => array(
$vars['viewscarousel_id'] => $options,
),
), 'setting');
}
/**
* Get the options to pass to jcarousel from the settings.
*
* @param array $vars
* Variables from a _preprocess_viewscarousel_view function
*
* @return array
* Options that can be passed to jcarousel
*/
function viewscarousel_get_options(&$vars) {
$options = array();
$options['vertical'] = $vars['options']['vertical'];
$options['start'] = $vars['options']['start'];
$options['scroll'] = $vars['options']['scroll'];
$options['visible'] = $vars['options']['visible'];
$options['animation'] = $vars['options']['animation'];
$options['easing'] = $vars['options']['easing'];
$options['auto'] = $vars['options']['auto'];
$options['auto_pause'] = $vars['options']['auto_pause'];
$options['wrap'] = $vars['options']['wrap'];
foreach ($options as $key => $value) {
if (empty($value)) {
unset($options[$key]);
}
}
// Bug fix. 1 is default. If you manually set 1 an empty row is added to left side.
if ($options['start'] == 1) {
unset($options['start']);
}
return $options;
}
/**
* Get class for skin and add css file if available
*
* @param array $vars
* Variables from a _preprocess_viewscarousel_view function
* @return string
* Class name to add to ul
*/
function viewscarousel_get_class($vars) {
switch ($vars['options']['skin']) {
case 'ie7':
drupal_add_css(drupal_get_path('module', 'viewscarousel') . '/skins/ie7/skin.css');
return 'jcarousel-skin-ie7';
break;
case 'tango':
drupal_add_css(drupal_get_path('module', 'viewscarousel') . '/skins/tango/skin.css');
return 'jcarousel-skin-tango';
break;
default:
return;
break;
}
}
Functions
Name![]() |
Description |
---|---|
template_preprocess_viewscarousel_view | |
viewscarousel_get_class | Get class for skin and add css file if available |
viewscarousel_get_options | Get the options to pass to jcarousel from the settings. |
viewscarousel_views_api | Implementation of hook_views_api(). |