breadcrumbs for sections and pages

This commit is contained in:
Helmut Merz 2012-05-13 16:21:05 +02:00
parent c8470483a8
commit 9ff3c9214e
3 changed files with 30 additions and 3 deletions

View file

@ -27,7 +27,9 @@ from zope.cachedescriptors.property import Lazy
from cybertools.typology.interfaces import IType from cybertools.typology.interfaces import IType
from loops.browser.lobo import standard from loops.browser.lobo import standard
from loops.browser.concept import ConceptRelationView as BaseConceptRelationView from loops.browser.concept import ConceptView
from loops.browser.concept import ConceptRelationView as \
BaseConceptRelationView
from loops.browser.resource import ResourceView as BaseResourceView from loops.browser.resource import ResourceView as BaseResourceView
from loops.common import adapted, baseObject from loops.common import adapted, baseObject
@ -36,7 +38,24 @@ standard_template = standard.standard_template
book_template = ViewPageTemplateFile('view_macros.pt') book_template = ViewPageTemplateFile('view_macros.pt')
class PageLayout(standard.Layout): class Base(object):
@Lazy
def isPartOfPredicate(self):
return self.conceptManager['ispartof']
@Lazy
def breadcrumbsParent(self):
for p in self.context.getParents([self.isPartOfPredicate]):
return self.nodeView.getViewForTarget(p)
class SectionView(Base, ConceptView):
pass
class PageLayout(Base, standard.Layout):
def getParts(self): def getParts(self):
parts = ['headline', 'keyquestions', 'quote', 'maintext', parts = ['headline', 'keyquestions', 'quote', 'maintext',

View file

@ -17,6 +17,14 @@
<!-- Views --> <!-- Views -->
<zope:adapter
name="section_view"
for="loops.interfaces.IConcept
loops.browser.skin.Lobo"
provides="zope.interface.Interface"
factory="loops.compound.book.browser.SectionView"
permission="zope.View" />
<zope:adapter <zope:adapter
name="page_layout" name="page_layout"
for="loops.interfaces.IConcept for="loops.interfaces.IConcept

View file

@ -7,7 +7,7 @@ type(u'book', u'Buch', viewName=u'', typeInterface=u'',
type(u'page', u'Seite', viewName=u'page_layout', type(u'page', u'Seite', viewName=u'page_layout',
typeInterface=u'loops.compound.book.interfaces.IPage', typeInterface=u'loops.compound.book.interfaces.IPage',
options=u'action.portlet:edit_concept') options=u'action.portlet:edit_concept')
type(u'section', u'Kapitel', viewName=u'', typeInterface=u'', type(u'section', u'Kapitel', viewName=u'section_view', typeInterface=u'',
options=u'action.portlet:create_subtype,edit_concept') options=u'action.portlet:create_subtype,edit_concept')
concept(u'system', u'System', u'domain') concept(u'system', u'System', u'domain')