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.
|
||||
|
||||
$Id$
|
||||
"""
|
||||
|
||||
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.proxy import removeSecurityProxy
|
||||
from zope.traversing.api import getParent, getParents, getPath
|
||||
from zope.traversing.browser import absoluteURL
|
||||
|
||||
from cybertools.ajax import innerHtml
|
||||
from cybertools.browser import configurator
|
||||
|
@ -92,6 +91,17 @@ class NodeView(BaseView):
|
|||
self.recordAccess()
|
||||
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=''):
|
||||
target = self.virtualTargetObject
|
||||
targetUid = target is not None and util.getUidForObject(target) or ''
|
||||
|
|
|
@ -26,6 +26,14 @@
|
|||
|
||||
<div id="content" class="span-6"
|
||||
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="message"></div>
|
||||
<metal:content define-slot="content">
|
||||
|
|
Loading…
Add table
Reference in a new issue