= quintagroup.dropdownmenu = [[PageOutline]] 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. == Links == * Releases - http://pypi.python.org/pypi/quintagroup.dropdownmenu * Repository - http://svn.quintagroup.com/products/quintagroup.dropdownmenu == Introduction == 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. == Notes == 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 == Requirement == Plone 3.x, Plone 4.0 == Migration from [wiki:qPloneDropDownMenu 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. == Installation == quintagroup.dropdownmenu can be installed as a Python package by adding it to eggs section of a buildout: {{{ [instance] .... eggs = .... quintagroup.dropdownmenu }}} Then Re-run buildout with: {{{ $ ./bin/buildout }}} Restart the Zope server with the following command in the terminal: {{{ $ ./bin/instance restart }}} Activate lone Drop Down Menu via Quickinstaller in Plone: Site Setup -> Add-ons. == Configuration == After installation in Plone, you'll see '''!DropDown Menu''' item under '''Add-on Configuration''', that include the following setting options: [[Image(settings.jpeg, nolink)]] == Usage == 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 }}} where: * '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: [[Image(screenshot.jpeg, nolink)]] * Go to '''ZMI -> portal_actions -> portal_tabs''' * Add '''CMFAction'''s to represent navigation first-level items (ids: services, about) and '''CMF Action Category'''s to include second-level navigation items (ids: services_sub, about_sub,). [[Image(portal-tabs.jpeg, nolink)]] * Each '''CMF Action Category''' will include '''CMFAction'''s - 2nd-level navigation items and '''CMF Action Category'''s - containers for 3-rd navigation level. [[Image(services.jpeg, nolink)]] * 2 level '''CMF Action Category'''s will include '''CMFAction'''s - 3rd-level navigation items [[Image(subservices.jpeg, nolink)]] You can change items order by using '''Up/Down''' buttons.