I want to have a carousel with a static number of items, but each item contains a record list. I see lots of posts about creating the carousel items dynamically, but this isn't what I need to do. I need a static list of items, but lists within each item. Is this possible, how?

Thanks,

Note, I tried to do this with a list, and also with a web block that contains the list. Neither worked correctly.

Hi Daniel,

I'm not sure I understand your emphasis on it having to be static, what do you mean by that ?  If you find solutions that are too 'dynamic', you can still use them, and by not using the dynamic features, keep it 'static'.  For example, if you find examples of a carousel being built up from a list of items instead of a static number of items, just build the list once and keep it the same...  I don't really see the issue.  Having static solutions available when what you really need is dynamic, that's a problem :-)

That being said, I tried to build a carousel with lists in it, both for mobile and for web, and did find one odd thing that might explain your problem.

After building it the way I would, with the carousel items being in a list, I tried to make a more 'static' version, with 3 local lists, and 3 carousel items, trying to display each local list on one of them, and instead of looping through the carousel items, showing the proper list each time, he loops through the list of the first carousel item instead and shows all other content below the carousel.  I think that is probably a bug in (or limitation of) the carousel widget.

If you try the same thing, for carousel items that don't contain a list, that approach ('static') does work.

See attached oml's, one for mobile with only the approach I would personally take, the other for web, with 2 approaches, TestScreen has my preferred approach, with each carousel item being in a list, TestScreenStatic with an effort to have just 3 items, and 3 lists, trying to show a list on each carousel item.  You can see that doesn't work, and you can see that if the carousel items don't contain lists, it does. (second carousel on that test screen)

So, I'd advice to make a list of lists of some sort to populate your carousel 'dynamically' with record lists, even if the stuff to show in it is 'static'.


Hope this helps,

Dorine

Hi Daniel,

I've come up with an approach that might be more along what you are trying to do, see attached oml, I called it TestScreenFakeDynamic (not really a good name, i know)

Basically, 

  • create a dummy list containing amount of items equal to amount of carousel items you want
  • for each (type of) carousel item, create a webblock with all content (retrieve content in webblock)
  • add a listrecords to the carousel widget, and add an If inside that for each item (i used currentrownumber, you could use a value that you set in each record of the dummy list to identify what webblock to use)
  • In the true of each if, add the appropriate web block.

see attached oml,

Dorine

Note, don't forget to set Line Separator to None on your ListRecords