[Checkins] SVN: z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/
Added ISiteMenu
Roger Ineichen
roger at projekt01.ch
Sun Dec 30 22:54:31 EST 2007
Log message for revision 82615:
Added ISiteMenu
Changed getURLContext for GlobalMenu
Note:
The global menu item uses the ZOEB root as url context
and the site menu uses the nearest site as url context
Changed:
U z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/__init__.py
U z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/interfaces.py
U z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/item.py
-=-
Modified: z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/__init__.py
===================================================================
--- z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/__init__.py 2007-12-31 01:44:21 UTC (rev 82614)
+++ z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/__init__.py 2007-12-31 03:54:30 UTC (rev 82615)
@@ -22,6 +22,10 @@
"""CSS viewlet manager."""
+class ISiteMenu(interfaces.IMenuManager):
+ """CSS viewlet manager."""
+
+
class IContextMenu(interfaces.IMenuManager):
"""CSS viewlet manager."""
Modified: z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/interfaces.py
===================================================================
--- z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/interfaces.py 2007-12-31 01:44:21 UTC (rev 82614)
+++ z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/interfaces.py 2007-12-31 03:54:30 UTC (rev 82615)
@@ -107,6 +107,10 @@
class IGlobalMenuItem(IMenuItem):
+ """Menu item with ZODB application root as url base."""
+
+
+class ISiteMenuItem(IMenuItem):
"""Menu item with nearest site as url base."""
Modified: z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/item.py
===================================================================
--- z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/item.py 2007-12-31 01:44:21 UTC (rev 82614)
+++ z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/item.py 2007-12-31 03:54:30 UTC (rev 82615)
@@ -17,7 +17,9 @@
__docformat__ = "reStructuredText"
import zope.interface
+from zope.traversing.api import getRoot
from zope.traversing.browser import absoluteURL
+
from zope.viewlet import viewlet
from zope.app.component import hooks
from zope.app.pagetemplate import ViewPageTemplateFile
@@ -58,9 +60,9 @@
@property
def selected(self):
+ """Selected if context and view interfaces compares."""
if self.viewInterface.providedBy(self.__parent__) and \
- self.contextInterface.providedBy(self.__parent__.context) and \
- self.__parent__.__name__ == self.viewName:
+ self.contextInterface.providedBy(self.__parent__.context):
return True
return False
@@ -75,7 +77,7 @@
return self.subMenuProviderName
def getURLContext(self):
- return hooks.getSite()
+ return getRoot(self.context)
def render(self):
"""Return the template with the option 'menus'"""
@@ -97,6 +99,12 @@
return True
return False
+
+class SiteMenuItem(MenuItem):
+ """Site menu item."""
+
+ zope.interface.implements(interfaces.IGlobalMenuItem)
+
def getURLContext(self):
return hooks.getSite()
@@ -106,6 +114,15 @@
zope.interface.implements(interfaces.IContextMenuItem)
+ @property
+ def selected(self):
+ """Selected if also view name compares."""
+ if self.viewInterface.providedBy(self.__parent__) and \
+ self.contextInterface.providedBy(self.__parent__.context) and \
+ self.__parent__.__name__ == self.viewName:
+ return True
+ return False
+
def getURLContext(self):
return self.context
More information about the Checkins
mailing list