Creating a Drupal Slideshow with Views Slideshow

Views Slideshow is the most popular module for creating slideshows in Drupal.
Earlier this year we showed you how to use Views Slideshow to create a basic slideshow.
One of our students read that tutorial and wondered about taking things further. They wanted to create a slideshow with smaller thumbnails, similar to the one you see on WhiteHouse.gov, Grammy.com and many other Drupal sites. In this tutorial, we show you how to create a more advanced slideshow, similar to those famous sites.
drupal slideshow view
Step 1: Installation

Install and enable these four modules:

    CTools: http://drupal.org/project/ctools
    Views: http://drupal.org/project/views
    Views Slideshow: http://drupal.org/project/views_slideshow
    Libraries: http://drupal.org/project/libraries

You're also going to need a single file that contains a JQuery slideshow script. This will need to be uploaded manually.

    Visit http://malsup.com/jquery/cycle
    Click the Download the Cycle Plugin link. It's hard to spot so we've highlighted it on the image below:

cai dat cycle plugin

    Download the file which will be called jquery.cycle.all.js
    Access your site files.
    Browse to the /sites/all/ folder.
    Create a folder called /ibraries/ so that the path is /sites/all/libraries/
    Create a folder called /jquery.cycle/ so that the path is /sites/all/libraries//jquery.cycle/
    Upload the jquery.cycle.all.js file into that last folder.

cai dat thu vien jquery cycle
Step 2: Views

We're going to create our slideshow using Views.

    Go to Structure > Views > Add new view.
    Check Create a block
    Choose Slideshow for the Display format
    Choose 1 for the Items per page
tao slideshow view
    Click Add.
    Select Image.
    Click Apply (All displays).
    Set the Image style to Large. We'll change this again later.

tao field image

    Click Apply (All displays).
    Click Add.
    Select Image.
    Check the box which says Exclude from display.
    Set the Image style to Thumbnail. We'll also change this later.
    Click Apply (All displays).
    Click Content:Title
    Click Remove

Once you're finished, your fields area should look like the area below.
tao slideshow view

    Find the Format area on the left-hand side of the Views page.
    Click Settings next to Slideshow.

cai dat hien thi cho view slideshow

    Scroll down to the cycle options.
    Check the box Pager under Bottom Widgets.
    Select the second of the two Image fields as the Pager fields..

lam thumbnail choimage

    Click Apply (All displays).
    Click Apply (All displays). It should be close to looking like an active slideshow, but it will still have design problems. Your images won't be the perfect size yet and your smaller images will be stached vertically.

thiet ke slideshow

    In the center of your Views screen, set the Pager so that it contains the number of small iterms you want underneath your main image.
    Click Save to record all your changes so far.

phan trang slideshow
Step 3: Design

First, let's set up the correct style for our images:

    Go to Configuration > Image Styles.
    Click Add style.
    Enter slideshow_main
    Click Create new style
    Next to Select a new effect, choose Resize and click Add
    Enter the height and width you'd like for your main slideshow image. Don't worry about getting it exactly right first time. You can always come back and change this size.
    Click Save

Now let's create the style for our smaller thumbnails.

    Repeat the process above.
    This time create a style called slideshow_pager

Now, we'll apply those styles to our View.

    Go to Structure > Views.
    Click edit next to your slideshow view.
    Click on the first Image field and set Image style to slideshow_main
    Click on the second Image field and set Image style to slideshow_pager

Now click Save and let's go see your slideshow.

    Go to Structure > Blocks.
    Publish your view.

The final remaining problem is going to be the vertical images. We can fix that with CSS.

    Go to your theme's CSS file.
    Add some code like this:

1..views-slideshow-controls-bottom .views-slideshow-pager-field-item { float: left; margin: 5px 19px 0 0; }

As a final step, you will need to tweak your image styles and your CSS to match your design.

Here's my end result, after this tutorial, and using dummy images:
hoan thien thiet ke cho slideshow