Customizing views_cycle module for differently styled marquees
During the theming process for the Emmys, specifically Emmys.com and Emmys.tv, we were presented with 2 differently styled marquees. On Emmys.com, the pager uses an image, while on Emmys.tv, the pager uses number with a background image along with next/previous buttons.
Since we use a multisite Drupal setup for the Emmys, we had to make some changes to the views_cycle module to accommodate the marquee designs.
First, we had to find a way to pass the theme name into views_cycle.js. To do that, in views_cycle.theme.inc, we added these lines:
$current_theme = variable_get('theme_default', 'none'); $settings['params']['theme'] = $current_theme;
By doing that, we can do something like this in views_cycle.js:
var theme = config.params.theme; ... function makeAnchors(idx, slide) { if(theme == 'emmyscom') { return '<li><a href="#" id="marquee' + (idx+1) + '"><img src="/path/to/images/circle-marquee.png" alt="" />' + "</a></li>\n"; } else { return '<li><a href="#" id="marquee' + (idx+1) + '">' + (idx+1) + "</a></li>\n"; } } ...
Another example of modification that we've made to views_cycle module was when we were presented with different sized marquees based on which page you are on, which got IE7 a little irritated.
To solve this problem, we followed closely to what we did on the Emmys project with a slight modification. Instead of the theme name, we needed to know which page a user is on. So in views_cycle.theme.inc:
$info = menu_get_item(); $current_page = $info['page-arguments']['0']->path; $settings['params']['current_page'] = $current_page;
Then in views_cycle.js:
... var curr_page = config.params.current_page; ... cycler.children('li').each(function () { var li = $(this); if(curr_page == 'home') { if(jQuery.browser.msie && jQuery.browser.version >= "7.0") { tallest = 280; } else { tallest = 335; } } else { if(jQuery.browser.msie && jQuery.browser.version == "7.0") { tallest = 220; } else { tallest = 195; } } } ...
Any comment or feedback is appreciated.


Comments
Hi I'm new to Drupal, but
Hi
I'm new to Drupal, but learning quickly! I need to create an effect like interlochen.org, using views cycle. can you give me a quick overview of how to implement the menus like that?
greatly appreciated!
Dan
Post new comment