Skip to main content

Carousel allows you to add user-configurable rotating banners to any section of a Plone site.

Project description

Introduction

Carousel is a tool for featuring a rotating set of banner images in any section of your Plone site. Features:

  • Different sets of banners can be used in different sections of the site.

  • Banners can link to another page in the site, or an external URL.

  • Banners rotate via a simple fade effect every 8 seconds. This is implemented using the jQuery javascript library which is included with Plone, so it’s pretty lightweight.

  • Clicking on the title of a banner jumps to it immediately.

  • Images will not rotate while the mouse cursor is hovering over the Carousel.

Compatibility

Carousel requires Plone 3.0 or greater, mainly because it renders itself in a viewlet.

Installation

Add Products.Carousel to your buildout’s list of eggs, and re-run buildout.

Start up Zope and go to Site Setup, Add-on Products in your Plone site, and install the Carousel product.

Detailed overview and tests

Viewing the banners

Now if we return to the home page, where we initially configured the banners, the banner we just added should be rendered (before the tabs):

>>> browser.open('http://nohost/plone')
>>> browser.contents
<BLANKLINE>
...Pirates and Cowboys...
...class="contentViews"...

Adding banners in other scenarios

Non-structural folder - put the carousel in the containing folder

>>> self.setRoles(['Manager'])
>>> self.portal.invokeFactory('Folder', 'nonstructural')
'nonstructural'
>>> from zope.interface import alsoProvides
>>> from Products.CMFPlone.interfaces import INonStructuralFolder
>>> alsoProvides(self.portal.nonstructural, INonStructuralFolder)
>>> browser.open('http://nohost/plone/nonstructural')
>>> browser.getLink('Configure banners').click()
>>> browser.url
'http://nohost/plone/carousel'

Collection, not default item - put the carousel in the collection itself

>>> self.portal.invokeFactory('Topic', 'topic')
'topic'
>>> browser.open('http://nohost/plone/topic')
>>> browser.getLink('Configure banners').click()
>>> browser.url
'http://nohost/plone/topic/carousel'

Collection, as default item – put the carousel in the containing folder

>>> self.portal.default_page = 'topic'
>>> browser.open('http://nohost/plone/topic')
>>> browser.getLink('Configure banners').click()
>>> browser.url
'http://nohost/plone/carousel'

Change history

Changelog

1.0 (2009-03-31)

  • Changed behavior of text links to swap banner on mouseover. [davisagli]

1.0b3 (2009-02-07)

  • Add ‘Carousel Banner’ to types not searched. [davisagli]

  • Locate carousel folder correctly on containers used as default pages (e.g. a Topic) [davisagli]

  • Apply proper security declarations to the getSize and tag methods of the banner type so that the view works okay when customized TTW. [davisagli]

  • Only display the carousel on default view; not any of the other tabs. [davisagli]

  • Fix viewlet removal on uninstallation. [davisagli]

  • Fix duplicate entries in quick installer. [davisagli]

1.0b2 (2009-02-04)

  • Declare dependency of our custom GS import step on the viewlets step. [davisagli]

  • Separate the (globally-registered) template from the (locally-registered) viewlet, so that the former can be customized using portal_view_customizations. [davisagli]

  • Added banner description to the template. Changed the ‘carousel-title’ class to ‘carousel-button’ so I could split out ‘carousel-title’ and ‘carousel-description’. [davisagli]

  • Handle non-structural folders correctly. [davisagli]

1.0b1 (2009-02-03)

  • Initial release. [davisagli]

Contributors

  • David Glick [davisagli], ONE/Northwest, Author

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Products.Carousel-1.0.tar.gz (21.5 kB view details)

Uploaded Source

File details

Details for the file Products.Carousel-1.0.tar.gz.

File metadata

File hashes

Hashes for Products.Carousel-1.0.tar.gz
Algorithm Hash digest
SHA256 ec9ffb44637048fc87cec564487b108d907503f57f0a15314219627051c9f182
MD5 3e357c9dfc7eece1db9e5a61fb751537
BLAKE2b-256 cc614f9258e9de170b22c3c2948a44a990bc2ab68dc782225d9156c3ecb37813

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page