djangocms-local-navigation
This package provides a DjangoCMS plugin that displays a menu based on the structure of the current page. You can for example create a local menu that is based on all the h2 elements on your page.
Installation
$ pip install djangocms-local-navigation
Then add it to INSTALLED_APPS:
INSTALLED_APPS = (
# ...
'djangocms_local_navigation',
)
Also add the plugin processor, which will add the id
attributes to your
navigation elements, allowing you to actually linking to them:
CMS_PLUGIN_PROCESSORS = (
# ...
'djangocms_local_navigation.cms_plugin_processors.patch_elements',
)
You should now be able to add the plugin "Local menu" to your pages.
Configuration
CMS_LOCAL_NAVIGATION_NAV_ELEMENTS
Default: h2
Defines which elements are used to create the local menu. This is a CSS
selector so if you want for example only elements with the class
local-navigation-heading
to be included in the navigation you could use
h2.local-navigation-heading
.
CMS_LOCAL_NAVIGATION_XML_PARSER
Default: None
(means automatic detection)
Defines which XML parser is used to add anchors to the elements and create the menu. Refer to the BeautifulSoup documentation for more information. Be advised that lxml has known issues with mod_python and can cause your processes to hang.
Development
To run the tests, use ./setup.py test
.