source: products/quintagroup.dropdownmenu/trunk/quintagroup/dropdownmenu/browser/menu.py @ 1199

Last change on this file since 1199 was 1199, checked in by piv, 15 years ago

set category sufix as optional setting, fix actions tab level functionality

  • Property svn:eol-style set to native
File size: 1.5 KB
Line 
1# -*- coding: utf-8 -*-
2from zope.interface import implements
3from zope.component import getUtility
4
5from Products.CMFPlone.browser.navtree import SitemapQueryBuilder
6from Products.CMFPlone.browser.navtree import DefaultNavtreeStrategy
7
8from plone.app.layout.navigation.interfaces import INavtreeStrategy
9from plone.app.layout.navigation.interfaces import INavigationQueryBuilder
10from plone.registry.interfaces import IRegistry
11
12from quintagroup.dropdownmenu.interfaces import IDropDownMenuSettings
13
14
15class DropDownMenuQueryBuilder(SitemapQueryBuilder):
16
17    implements(INavigationQueryBuilder)
18
19    def __init__(self, context):
20        super(DropDownMenuQueryBuilder, self).__init__(context)
21        if self._settings.content_tabs_level > 0:
22            self.query['path']['depth'] = self._settings.content_tabs_level
23        elif self.query['path'].has_key('depth'):
24            del self.query['path']['depth']
25
26    @property
27    def _settings(self):
28        """Fetch dropdown menu settings registry"""
29        registry = getUtility(IRegistry)
30        return registry.forInterface(IDropDownMenuSettings)
31
32
33class DropDownMenuStrategy(DefaultNavtreeStrategy):
34
35    implements(INavtreeStrategy)
36
37    def __init__(self, context, view=None):
38        super(DropDownMenuStrategy, self).__init__(context, view)
39        self.bottomLevel = self._settings.content_tabs_level
40
41    @property
42    def _settings(self):
43        """Fetch dropdown menu settings registry"""
44        registry = getUtility(IRegistry)
45        return registry.forInterface(IDropDownMenuSettings)
Note: See TracBrowser for help on using the repository browser.