Package: collective.carousel
---------Overview.---------collective.carousel is the package that lets you add "carousels" of items inyour Plone site. More than one carousels on one page are supported.collective.carousel is based on `Scrollable`__ plugin for `JQuery Toolslibrary`__... |---| unicode:: U+2014  .. em dash.. __: http://flowplayer.org/tools/scrollable.html.. __: http://flowplayer.org/tools/index.htmlHow to get a carousel?======================Work of carousel is based on one assumption |---| you already have acollection that returns results for showing in the carousel.Carousel can be added in 2 ways:* as a viewlet above page's title (content carousel);* as a portlet to any portlet manager in your site.Carousel above page's title (Content carousel).-----------------------------------------------* Go to ``Edit`` tab on a page where you want to add a carousel;* go to ``Settings``;* add a collection that will provide content for carousel to ``Carouselobject`` field;* if you want to add more than one carousel, add more collections to thesame field;* after saving your page, you should see the carousel(s) above your page'stitle if the collection(s) you chose for the carousel(s) returns anyelements.Carousel in a portlet.----------------------* On a page where you want to add a carousel click ``Manage portlets`` inone of the columns of your site;* choose ``Carousel portlet`` from ``Add portlet...`` menu;* collection portlet is a derivative from standard collection portlet inPlone, hence the same fields are available for this type of portlets aswell;* fill out the fields in the form specifying a collection that willprovide content for the carousel portlet.**NOTE** content carousels are not inheritable while carousel portlet isinheritable as any other portlet in a Plone site. This means that when you adda content carousel to a folder, the same carousel will not be shown on anyobject within that folder. At the same time if you add a carousel portlet on afolder, that portlet will be shown for all objects within the folder thatdon't explicitly block parent portlets.Tips====What if I want to move carousel to another place?-------------------------------------------------Content carousel is defined with a regular viewlet. This lets you to move thatviewlet to any place in your site the same way you would do with any otherviewlet. Read `Moving a viewlet from a viewlet manager to another one`__ formore info on how to move viewlets from one viewlet manager to another... __: http://plone.org/documentation/tutorial/customizing-main-template-viewlets/moving-a-viewlet/How do I customize carousel's view?-----------------------------------collective.carousel provides a flexible way of customizing the look of items,shown in a carousel based on a content type of the item. collective.carouselcomes with 2 bundled views that are available for items, rendered in acarousel:* `browser/templates/news_item_tile.pt` |---| defines how News Items shouldbe rendered in a carousel;* `browser/templates/default_tile.pt` |---| how all the rest content typesshould be rendered in a carousel.If you need to either override one of the existing views or define a new viewfor any content type you can do this from your package using ZCMLregistartion. Please take a look at `browser/configure.zcml` and`testing.zcml` for examples of such registrations. Note that there are pageswith 2 different names:* `carousel-view` |---| defines a view for a content type in contentcarousel;* `carousel-portlet-view` |---| the view for a content type when shown in acarousel portlet.So if you need to override/register a view for any specific content type forcontent carousel, your `<browser:page />` has to have `carousel-view` name. Incase you want to override/register a view for carousel portlet, name should be`carousel-portlet-view`.I need to do something once the carousel is fully loaded.---------------------------------------------------------The simplest use-case |---| you have some content carousels placed in a rowside by side. Most probably your carousels have different heights and thatdoesn't look nice when they are placed side by side. So you want to equalizethe heights of these carousels with Javascript so that your carousels have thesame height. Since collective.carousel already binds ``load()`` event to eachcarousel (resizing the carousel to fit all of it's content) you can not bindone more ``load()`` event to a carousel because due to the nature of``load()`` event it might be fired too early when not all content of acarousel is loaded.For the cases like this collective.carousel provides custom Javascript event``resized.carousel`` that you can attach your special handlers to. Moreovereach carousel returns it's height that can be accessed in ``resized.carousel``event.Here is a simple code snippet of how to adjust the heights of carousels withJQuery::$("#my-container .carousel").bind('resized.carousel', function(event, newheight) {$("#my-container .carousel").each(function() {if ($(this).height() < newheight) $(this).height(newheight);});});Developed by **Jarn AS** |---| http://www.jarn.comDevelopment sponsored by the **Bergen Public Library** |---|http://www.nettbiblioteket.noDexterity=========`collective.carouselbehaviour`_ provides Dexterity-based (``plone.app.dexterity``) content types support... |---| unicode:: U+2014  .. em dash.. _collective.carouselbehaviour: http://pypi.python.org/pypi/collective.carouselbehaviourChangelog=========1.7 (2014-04-30)----------------- Edited the css/html/js so that carousel uses the .collective.carouselselector. Fixes this issue:https://github.com/collective/collective.carousel/issues/13[pigeonflight]- Play/Autoscroll the carousel again, when the mouse leaves the carousel.[thet]- Remove skins layer and register css and js browser resources. Don't use dtmlcss anymore but let integrators overload styles via own css.  Optimizejavascript and CSS.[thet]- Added description for dexterity support[bogdangi]1.6.2 - August 28, 2013------------------------ Allow configuring of image_scales in portlets.[thet]- Added MANIFEST.in to prevent issues with packaging.[bogdangi]1.6.1 - May 2, 2013-------------------- Remove stale pdb statement.[thet]1.6 - April 11, 2013--------------------- Depend on plone.app.jquerytools and include the scrollable plugins. Includean Upgrade step for it (Upgrade 1 to 2).[thet]1.5 - March 2, 2013-------------------- Support for new-style Collection type keeping backwards-compatibilitysupport for the old-style Topic[mishunov, ableeb]- Don't base the carousel portlet on the collection one since it brings quitesome unnecessary fileds that don't make sense in this context.[mishunov]- Reduced the default rotation time for a carousel to 10 seconds.[mishunov]- Replace '$' with 'jQuery' in the javascript to avoid unnecessary integrationconflicts.[mishunov]- We use plain CSS instead of the images for the arrows.[mishunov]- Updated bundled jQueryTools to 1.2.5 and removed 'scrollable' module fromthe local copy.[mishunov]- Complete revert of djay's changes to the javascript.[mishunov]- Add French translation.[toutpt]1.4 - January 27, 2011----------------------- Spanish translation.[hvelarde]- Czech translation.[lzdych]- More settings for carousel portlet.[djay]- Pause carousel on :hover.[djay]- Leadimage tile.[djay]- Danish translation[stonor]- Portuguese translation[davilima6]1.3 - July 6, 2010------------------- Fixed norwegian translation[sh]- Actual russian translation missing in previous release[spliter]1.2 - June 30, 2010-------------------- Russian translation[spliter]1.1 - June 30, 2010-------------------- Norwegian translation[sh, ggozad]- Brazilian-Portuguese translation[davilima6]- Added i18n support[stonor]- Fixed the height of the carousel for cases when items are shorter than thecarousel's height declared in CSS.[spliter]1.0 - April 15, 2010--------------------- Added information about 'resized.carousel' event to README.txt[spliter]- Custom 'resized.carousel' event for being able to bind customhandlers to the moment when a carousel is re-sized.[spliter]- Limit number of items returned by a carousel to 7.[spliter]- Adjusted slightly to work on Plone 4.[hannosch]- Initial release[spliter]