Mercurial > hg > isophonics-drupal-site
diff modules/contrib/views_slideshow/views_slideshow.module @ 5:c69a71b4f40f
Add slideshow module
author | Chris Cannam |
---|---|
date | Thu, 07 Dec 2017 14:46:23 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/modules/contrib/views_slideshow/views_slideshow.module Thu Dec 07 14:46:23 2017 +0000 @@ -0,0 +1,164 @@ +<?php + +/** + * @file + * Provides Slideshow style options for Views. + */ + +use Drupal\Core\Routing\RouteMatchInterface; + +/** + * Implements hook_help(). + */ +function views_slideshow_help($route_name, RouteMatchInterface $route_match) { + switch ($route_name) { + // Main module help for the gss module. + case 'help.page.views_slideshow': + $output = '<h3>' . t('About') . '</h3>'; + $output .= '<p>' . t('Views Slideshow can be used to create a slideshow of any content (not just images) that can appear in a View. Powered by jQuery, it is heavily customizable: you may choose slideshow settings for each View you create.') . '</p>'; + $output .= '<h3>' . t('More Information') . '</h3>'; + $output .= '<p>' . t('For more information about this module visite the <a href="@link">Views Slideshow</a> module page.', array('@link' => 'https://www.drupal.org/project/views_slideshow')) . '</p>'; + return $output; + } +} + +/** + * Implements hook_theme(). + */ +function views_slideshow_theme() { + return [ + 'views_slideshow_main_section' => [ + 'variables' => [ + 'vss_id' => NULL, + 'slides' => NULL, + 'plugin' => NULL, + ], + 'file' => 'views_slideshow.theme.inc', + ], + 'views_slideshow_pager_widget_render' => [ + 'variables' => [ + 'vss_id' => NULL, + 'view' => NULL, + 'settings' => [], + 'location' => NULL, + 'rows' => [], + ], + 'file' => 'views_slideshow.theme.inc', + 'function' => 'template_preprocess_views_slideshow_pager_widget_render', + ], + 'views_slideshow_pager_fields' => [ + 'variables' => [ + 'vss_id' => NULL, + 'view' => NULL, + 'settings' => [], + 'location' => NULL, + 'attributes' => [], + ], + 'file' => 'views_slideshow.theme.inc', + ], + 'views_slideshow_pager_field_field' => [ + 'variables' => [ + 'view' => NULL, + 'css_identifier' => NULL, + 'label' => NULL, + 'output' => NULL, + ], + 'file' => 'views_slideshow.theme.inc', + ], + 'views_slideshow_pager_field_item' => [ + 'variables' => [ + 'vss_id' => NULL, + 'item' => NULL, + 'count' => NULL, + 'location' => NULL, + 'length' => NULL, + ], + ], + 'views_slideshow_pager_bullets' => [ + 'variables' => [ + 'vss_id' => NULL, + 'view' => NULL, + 'settings' => [], + 'location' => NULL, + 'attributes' => [], + ], + 'file' => 'views_slideshow.theme.inc', + ], + 'views_slideshow_controls_widget_render' => [ + 'variables' => [ + 'vss_id' => NULL, + 'view' => NULL, + 'settings' => [], + 'location' => NULL, + 'rows' => [], + ], + 'file' => 'views_slideshow.theme.inc', + 'function' => 'template_preprocess_views_slideshow_controls_widget_render', + ], + 'views_slideshow_controls_text' => [ + 'variables' => [ + 'vss_id' => NULL, + 'view' => NULL, + 'settings' => [], + 'location' => NULL, + 'rows' => [], + ], + 'file' => 'views_slideshow.theme.inc', + ], + 'views_slideshow_controls_text_previous' => [ + 'variables' => [ + 'vss_id' => NULL, + 'view' => NULL, + 'settings' => [], + ], + 'file' => 'views_slideshow.theme.inc', + ], + 'views_slideshow_controls_text_pause' => [ + 'variables' => [ + 'vss_id' => NULL, + 'view' => NULL, + 'settings' => [], + ], + 'file' => 'views_slideshow.theme.inc', + ], + 'views_slideshow_controls_text_next' => [ + 'variables' => [ + 'vss_id' => NULL, + 'view' => NULL, + 'settings' => [], + ], + 'file' => 'views_slideshow.theme.inc', + ], + 'views_slideshow_slide_counter_widget_render' => [ + 'variables' => [ + 'vss_id' => NULL, + 'view' => NULL, + 'settings' => [], + 'location' => NULL, + 'rows' => [], + ], + 'file' => 'views_slideshow.theme.inc', + 'function' => 'template_preprocess_views_slideshow_slide_counter_widget_render', + ], + 'views_slideshow_slide_counter' => [ + 'variables' => [ + 'vss_id' => NULL, + 'view' => NULL, + 'settings' => [], + 'location' => NULL, + 'rows' => [], + ], + 'file' => 'views_slideshow.theme.inc', + ], + ]; +} + +/** + * Views Slideshow: Slideshow. + * + * As it is a preprocess function, store it with other functions in theme.inc. + */ +function template_preprocess_views_view_slideshow(&$vars) { + \Drupal::moduleHandler()->loadInclude('views_slideshow', 'inc', 'views_slideshow.theme'); + _views_slideshow_preprocess_views_view_slideshow($vars); +}