In ReadyTalk’s new website design, we’ll provide up-to-date, dynamic information to our customers in a number of ways. One of those will be a carousel on the front page of the website. We want to load data asynchronously on to the front page to reduce loading times and we want it to load from Drupal nodes for easy maintenance. We originally went to find a Drupal carousel plugin, but none existed that met our needs.
We decided to use jQuery Tabs since Drupal comes with jQuery installed. It was easy to integrate in to our theme files using the great documentation provided by jQuery Tools. We also installed the jQuery Update module for Drupal to bring jQuery up to speed.
jQuery tabs offers a slideshow plugin for Tabs that makes for a great carousel with some useful features, such as navigation elements, smooth transitions and pause on mouse hover. The only hurdle we encountered with this setup was pulling nodes cleanly in to the carousel.
Loading a node would also pull all the page layout data with it – any associated blocks or theme data would be pulled in to the carousel – not what we want. This solution is simple and works great for loading the content of a node and nothing else. Appending any address with ?ajax=1 will automatically grab the node content by itself, exactly what we want for loading via jQuery. This solution is also applicable to any circumstance where node data might be pulled asynchronously.
So, long story short:
1. Install jQuery Update
2. Install jQuery Tabs with slideshow plugin in to Drupal theme
3. Add the accepted solution on this page to Drupal
4. Point jQuery Tabs to the nodes you want to load, appending the address with ajax=1
Have you done something similar? How did it work? What are other ways to do this?