Version 35 (modified by olha, 8 years ago) (diff)



quintagroup.dropdownmenu package allows to build multilevel portal dropdown menu based on nested portal_actions categories inside portal_tab category as well as based on portal content structure.


This package allows Plone websites display multilevel portal dropdown menu based on nested portal_actions categories inside portal_tab category. It also allows to define whether to put content tabs before or after action tabs, and a bit more... For details see below.


You may have actions/content-based tabs as deep as you wish, but then you'll need to tweek default dropdown menu css rules a bit, default css rules show only the first 4 levels of tabs


Plone 3.x, Plone 4.0

Migration from qPloneDropDownMenu

In case qPloneDropDownMenu product was previously installed, it will automatically detect legacy settings, migrate it to a newly created settings registry and update portal_actions tool if required along with removing old portal_dropdownmenu one. Also installation procedure will uninstall qPloneDropDownMenu product itself (in case it's still installed) and clean up everything after it. Note: to successfully migrate old tabs it's required to have a valid html markup, otherwise migration procedure won't be able to move tabs correctly.


quintagroup.dropdownmenu can be installed as a Python package by adding it to eggs section of a buildout:

eggs =

Then Re-run buildout with:

   $ ./bin/buildout

Restart the Zope server with the following command in the terminal:

   $ ./bin/instance restart

Activate Plone Drop Down Menu via Quickinstaller in Plone: Site Setup -> Add-ons.


After installation in Plone, you'll see DropDown Menu item under Add-on Configuration, that include the following setting options:


quintagroup.dropdownmenu allows to create multilevel portal navigation using CMF Action Category containers. But the requirement is to have a specially named Action for each Actions Category. The id of each such action must be build using the rule:

    action_id = prefix + category_id + suffix


  • 'category_id' is id of correspondent CMF Action Category
  • 'prefix' defined in DropDownMenu configlet, default value -
  • 'suffix' defined in DropDownMenu configlet, default value - _sub

So, to create the following 3-level portal dropdown menu:

  • Go to ZMI -> portal_actions -> portal_tabs
  • Add CMFActions to represent navigation first-level items (ids: folder1, folder2) and CMF Action Categorys to include second-level navigation items (ids: folder1_sub, folder2_sub).

  • For every CMFAction you should specify: its Title - as it will be visible in Plone and its URL (Expression) - URL on a site where it will be linked to. URL should be provided in the following format:

where 'folder1' is id of the folder, located in the site root, to which this tab should be linked.

In case you want your tab to be linked to an object inside some folder, you should specify the entire path, for example:


  • Each CMF Action Category will include CMFActions - 2nd-level navigation items (ids: subfolder1, subfolder2,..) and CMF Action Categorys - containers for 3-rd navigation level (ids: subfolder1_sub, subfolder2_sub,..).

  • 2-nd level CMF Action Categorys will include CMFActions - 3rd-level navigation items (ids: subsubfolder1, subsubfolder2,..)

You can change items order by using Up/Down? buttons.


Changes you make in portal_actions may not immediately appear in Plone interface right after being done - this is because menu is cached (for an hour). That's why to see your drop down menu at once - go to the RAM Cache control panel (site URL/@@ramcache-controlpanel) and clear cache.

Attachments (12)

Download all attachments as: .zip