Skip to main content

What is it?

collective.superfish integrates the jQuery Superfish plugin into Plone.

Superfish is a really nice solution for dropdown menus using css, valid xhtml and JavaScript which degrades gracefully if JavaScript is not available.

Which Version is for me?

Since Version 2.0 collective.superfish targets Plone 5 only.

If you want to use it on Plone < 5 then stay to the 1.x versions.

How do you use it?

This package behaves as a “drop-in” replacement for plone.global_sections. Just install it :)

Customization

Use Plone’s Configuration Registry to change Superfish settings. Filter for prefix ISuperfishSettings to see available options.

For integrators you can set the following records in registry.xml of your theme profile:

<records interface='collective.superfish.interfaces.ISuperfishSettings' prefix='superfish'>
    <value key="add_portal_tabs">True</value>
    <value key="menu_depth">2</value>
    <value key="superfish_options">{ "delay": 800, "cssArrows": true }</value>
</records>

See https://superfish.joelbirch.co/options/ for a complete list of available superfish_options.

TODO

  • Migration experience from Plone 4 -> 5 has to be tested!! There is an upgrade step which removes the old resources from portal_css/portal_javascripts and import the compiled resources to Resource Registry. Maybe someone can give some input on this and file some issues

  • Add tests

Thanks

  • Daniel Widerin

  • Patrick Griffiths

  • Dan Webb

  • Joel Birch

  • Harald Friessnegger (fRiSi)

  • Peter Mathis (petschki)

History

2.1 (2023-05-05)

  • Python 3 support.

2.0 (2018-08-02)

  • make final release.

2.0a1 (2017-11-24)

  • migrate superfish resources to Plone 5 resource registry (see upgrade step) [petschki]

  • behave as “drop-in” replacement for global_sections [petschki]

  • add uninstall profile [petschki]

  • update superfish resources to 1.7.9 and hoverIntent to 1.9.0 [petschki]

1.1 (2016-06-23)

  • Update superfish.js from 1.7.3 to 1.7.5, and hoverIntend from r7 (1.7.0) to 1.8.1 [fRiSi]

  • Don’t break JS when jQuery is undefined. This happened for eg. on wildcard.foldercontents folder_content view [petschki]

1.0 - 2014-05-08

  • Update superfish.js from 1.4.8 to 1.7.3 and hoverIntent.js from r5 to r7 [fRiSi]

  • Add default formatting for superfish menu based on the DEMO SKIN in the superfish default css to make it fit the Sunburst Theme

    Superfish Menu Layout changed from

    <li><span class="selected"><a .../></span></li> to

    <li class="selected"><a .../></li>

    since javascript could not handle the additional span tag for setting the .sf-with-ul class. [fRiSi]

0.6 - 2010-08-11

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). [fRiSi]

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 &quot; 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]

Release files for collective.superfish 2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for collective.superfish 2.1
File Size Uploaded
collective.superfish-2.1.tar.gz 106.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for collective.superfish 2.1
File Interpreter ABI Platform
collective.superfish-2.1-py3-none-any.whl Python 3 none any Details

Total release size: 224.5 kB

Release files / collective.superfish-2.1.tar.gz

Download URL collective.superfish-2.1.tar.gz
Size 106.7 kB
Tags Source
SHA-256 checksum
How to use checksums
98c8daa38b5e05be3471156ef9d3853a3b81e1781b10415cc89dfccc38645c07
BLAKE2b-256 checksum
How to use checksums
ee8be2c9e87ab9ad0a1e4d06ddffbdd4354316da85614100ed97fcc4e5e70db3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.8.3 requests/2.28.1 setuptools/65.7.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/3.8.16

Release files / collective.superfish-2.1-py3-none-any.whl

Download URL collective.superfish-2.1-py3-none-any.whl
Size 117.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2b196ef10dd3571260f5a17ad4ab69f06b59fed0d9bf5950ec27735e2bd9845c
BLAKE2b-256 checksum
How to use checksums
cd877b4fb0c4ba49d22b64ffaca132a20fd39b4dd2b03d6cb45c46f7d0db48d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.8.3 requests/2.28.1 setuptools/65.7.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/3.8.16

Release history Release notifications | RSS feed

This release

2.1 This release

2 release files

2.0

2 release files

1.1

1 release file

1.0

1 release file

0.6

2 release files

0.5

3 release files

0.4

1 release file

0.3

3 release files

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page