work in progress: breadcrumbs
This commit is contained in:
parent
274c5612b9
commit
7bc3671d74
2 changed files with 20 additions and 2 deletions
|
@ -18,8 +18,6 @@
|
||||||
|
|
||||||
"""
|
"""
|
||||||
View class for Node objects.
|
View class for Node objects.
|
||||||
|
|
||||||
$Id$
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from urlparse import urlparse, urlunparse
|
from urlparse import urlparse, urlunparse
|
||||||
|
@ -42,6 +40,7 @@ from zope.publisher.defaultview import getDefaultViewName
|
||||||
from zope.security import canAccess, canWrite, checkPermission
|
from zope.security import canAccess, canWrite, checkPermission
|
||||||
from zope.security.proxy import removeSecurityProxy
|
from zope.security.proxy import removeSecurityProxy
|
||||||
from zope.traversing.api import getParent, getParents, getPath
|
from zope.traversing.api import getParent, getParents, getPath
|
||||||
|
from zope.traversing.browser import absoluteURL
|
||||||
|
|
||||||
from cybertools.ajax import innerHtml
|
from cybertools.ajax import innerHtml
|
||||||
from cybertools.browser import configurator
|
from cybertools.browser import configurator
|
||||||
|
@ -92,6 +91,17 @@ class NodeView(BaseView):
|
||||||
self.recordAccess()
|
self.recordAccess()
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
def breadcrumbs(self):
|
||||||
|
if not self.globalOptions('showBreadcrumbs'):
|
||||||
|
return []
|
||||||
|
menu = self.menu
|
||||||
|
data = [dict(label=menu.title, url=menu.url)]
|
||||||
|
menuItem = self.nearestMenuItem
|
||||||
|
if menuItem != menu.context:
|
||||||
|
data.append(dict(label=menuItem.title,
|
||||||
|
url=absoluteURL(menuItem, self.request)))
|
||||||
|
return data
|
||||||
|
|
||||||
def recordAccess(self, viewName=''):
|
def recordAccess(self, viewName=''):
|
||||||
target = self.virtualTargetObject
|
target = self.virtualTargetObject
|
||||||
targetUid = target is not None and util.getUidForObject(target) or ''
|
targetUid = target is not None and util.getUidForObject(target) or ''
|
||||||
|
|
|
@ -26,6 +26,14 @@
|
||||||
|
|
||||||
<div id="content" class="span-6"
|
<div id="content" class="span-6"
|
||||||
metal:define-macro="content">
|
metal:define-macro="content">
|
||||||
|
<metal:breadcrumbs define-slot="breadcrumbs">
|
||||||
|
<div tal:define="crumbs view/breadcrumbs"
|
||||||
|
tal:condition="crumbs">
|
||||||
|
<span tal:repeat="crumb crumbs">
|
||||||
|
<a tal:attributes="href crumb/url"
|
||||||
|
tal:content="crumb/label" />
|
||||||
|
<span tal:condition="not:repeat/crumb/end"> / </span></span>
|
||||||
|
</div></metal:breadcrumbs>
|
||||||
<div metal:define-slot="actions"></div>
|
<div metal:define-slot="actions"></div>
|
||||||
<div metal:define-slot="message"></div>
|
<div metal:define-slot="message"></div>
|
||||||
<metal:content define-slot="content">
|
<metal:content define-slot="content">
|
||||||
|
|
Loading…
Add table
Reference in a new issue