collective.superfish
- Warning
- This product has not had a release in over 1 year and may no longer be maintained.
A suckerfish/superfish integration into plone
Project Description
collective.superfish
Contents
What is it?
collective.superfish is an suckerfish integration into Plone. Suckerfish is a really nice solution for dropdown menus using css, valid xhtml and javascript. http://www.alistapart.com/articles/dropdowns/
How do i use it?
Hide plone.global_sections and replace it with collective.superfish in viewlets.xml somehow like this:
<!-- superfish: use superfish instead of global_sections -->
<hidden manager="plone.portalheader" skinname="MySkin">
<viewlet name="plone.global_sections" />
</hidden>
<order manager="plone.portalheader" skinname="MySkin">
<viewlet name="collective.superfish" insert-after="plone.global_sections" />
</order>
By default, collecive.superfish does not include portal_actions in the menu. To activate them, subclass the viewlet:
from collective.superfish.browser.sections import SuperFishViewlet as SuperFishBase
class SuperFishViewlet(SuperFishBase):
ADD_PORTAL_TABS = True
and register it for your skin:
<browser:viewlet
name="collective.superfish"
manager="plone.app.layout.viewlets.interfaces.IPortalHeader"
class=".viewlets.SuperFishViewlet"
permission="zope2.View"
layer=".interfaces.IThemeSpecific"/>
TODO
- Add tests
- Add demo.css with some css-styles to make it more usable after installation.
History
0.5 - 2010-06-17
- use official hoverIntent.js with docstring and versioninfo and replaced (function($){})(jQuery); with jQuery(function($){}); syntax so the script does not conflict with collective.carousel (when both are merged to the same file by portal_javascript).
0.4 - 2010-05-12
- removed desc.replace(...) and added a custom entities method to fix #1. [saily]
- don't use version in metadata.xml for the package version in setup.py. the metadata version this is meant to reflect the version of the GS profile and must not be mixed up with the package version. [fRiSi]
0.3 - 2010-03-17
Replace " with " to keep valid HTML if description contains quotes. [saily]
Made id-generation more resistent against duplicated id's. We now use normalized urls to generate the item id. [saily]
added support to include portal_tabs in the superfish navigation by setting ADD_PORTAL_TABS = True in subclasses [fRiSi]
added some documentation targeted at integrators [fRiSi]
don't render superfish_init.js with inline=True since this leads to strange errors in Products.ResourceRegistries-2.0b2-py2.6.egg/Products/ResourceRegistries/browser/scripts.pt eg when adding a StaticText Portlet
AttributeError: 'DirContainedFileResource5' object has no attribute 'POST'
according to the resourceregistry documentation it's better to set inline to False in any case.
Removed caching after some discussions with fRiSi. We left the code but disabled it by default, enable it again uncommenting the ram.cache line:
#@ram.cache(_render_sections_cachekey) def render(self): return self.index()Displaying superfish menu only when installed in portal_quickinstaller by adding a superfish-browserlayer through browserlayer.xml file. [saily]
Changed default values for 'interval' and 'timeout' of hoverIntent which controls the show and hide process of the submenu. Read more about configuration of hoverIntent here: http://cherne.net/brian/resources/jquery.hoverIntent.html
0.2 - 2009-06-12
- Moved from full to safe compression for javascript files. [saily]
- Removed unused class attributes for SuperFishViewlet. [saily]
- Added caching to improve rendering performance. [saily]
0.1 - 2009-06-09
- Initial import and idea [saily]
Thanks
- Daniel Widerin
- Patrick Griffiths
- Dan Webb
- Joel Birch
- Harald Friessnegger (fRiSi)
Links
- Suckerfish Dropdowns http://www.alistapart.com/articles/dropdowns
- Superfish http://users.tpg.com.au/j_birch/plugins/superfish
- hoverIntent http://cherne.net/brian/resources/jquery.hoverIntent.html
- jQuery plugin http://plugins.jquery.com/project/Superfish
- jQuery http://jquery.com
Self-Certification
[ ] Internationalized
[ ] Unit tests
[X] End-user documentation
[ ] Internal documentation (documentation, interfaces, etc.)
[X] Existed and maintained for at least 6 months
[ ] Installs and uninstalls cleanly
[ ] Code structure follows best practice
Current Release
collective.superfish 0.5
Released Jun 17, 2010 — tested with Plone 4, Plone 3
js-updates
More about this release…
-
Get
collective.superfish
for
all platforms
- collective.superfish-0.5.tar.gz
- If you are using Plone 3.2 or higher, you probably want to install this product with buildout. See our tutorial on installing add-on products with buildout for more information.
All Releases
| Version | Released | Description | Compatibility | Licenses | Status |
|---|---|---|---|---|---|
| 0.5 | Jun 17, 2010 | js-updates More about this release… |
Plone 4
Plone 3
|
GPL | final |
| 0.4 | May 12, 2010 | Bugfix release More about this release… |
Plone 4
Plone 3
|
GPL | final |
| 0.3 | May 12, 2010 | First release on plone.org More about this release… |
Plone 4
Plone 3
|
GPL | final |

