Недавно я создал сайт с простыми галереями, и я вообще не использовал дополнительные модули для слайд-шоу. Все, что мне было нужно, это jQuery Cycle и небольшой javascript, добавленный в мою собственную тему. Этот сайт имеет тип контента 'photo' и словарь 'album' для назначения фотографий различным альбомам. Представление создает список фотографий, отфильтрованных по альбому. В моей теме у меня есть файл js, который выглядит следующим образом:
(function($){
Drupal.behaviors.myAlbumSlideshow = {
attach: function(){
var slideshowContent = $('.view-fotoalbum.view-display-id-page_1>.view-content');
slideshowContent.before('<div id="slideshow-prev"><</div><div id="slideshow-next">></div>');
slideshowContent.cycle({
fx: 'scrollHorz',
next: '#slideshow-next',
prev: '#slideshow-prev',
timeout: 0
});
var slideshowHeight = slideshowContent.height() + 'px';
$('#slideshow-prev, #slideshow-next').css('lineHeight', slideshowHeight);
}
}
})(jQuery)
Прикосновение CSS завершает это:
.view-fotoalbum {
width: 710px;
margin-right: 10px;
}
.view-fotoalbum #slideshow-prev {
color: #808080;
border-right: 1px solid #808080;
cursor: pointer;
float: left;
line-height: 300px;
margin-left: -40px;
text-align: center;
width: 30px;
}
.view-fotoalbum #slideshow-next {
color: #808080;
border-left: 1px solid #808080;
cursor: pointer;
float: right;
line-height: 300px;
margin-right: -40px;
text-align: center;
width: 30px;
}
PS. ИМХО, не всегда лучше иметь один узел на изображение. Это правда, что этот подход обеспечивает большую гибкость (например, добавление одного изображения в несколько слайд-шоу), но для некоторых конечных пользователей ненужная гибкость является просто бессмысленной сложностью.