Version 18 (modified by olha, 9 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 portal actions settings and site structure. You may ask why we may need one more dropdown menu product for Plone, having already qPloneDropDownMenu, webcouturier.dropdownmenu and other products providing similar functionality:

  • qPloneDropDownMenu product displays manually edited html code with nested unordered list
  • webcouturier.dropdownmenu went further and is trying to display submenus for each standard portal tab be it action from portal_actions tool or be it auto generated tab based on content structure

But neither of those products use newly introduced portal_actions tool's feature: nested categories. That's why quintagroup.dropdownmenu package was introduced. It 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.

It also allows you 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.


As soon as quintagroup.dropdownmenu is released it will be able to be installed as a Python package by adding it to eggs section of your buildout.

eggs =

Then install Plone Drop Down Menu with QuickInstaller? in Plone.


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: services, about) and CMF Action Categorys to include second-level navigation items (ids: services_sub, about_sub,).

Each CMF Action Category will include CMFActions - 2nd-level navigation items and CMF Action Categorys - containers for 3-rd navigation level.

2 level CMF Action Categorys will include CMFActions - 3rd-level navigation items

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

Attachments (12)

Download all attachments as: .zip