--- ECHO_content/ECHO_Nav.py 2007/08/15 11:05:43 1.81 +++ ECHO_content/ECHO_Nav.py 2012/09/03 14:14:27 1.84.2.4 @@ -1,4 +1,6 @@ # Objekte zur Erzeugung von Navigationselement +# 29-8-2012 Referenzen zum Storagemanager entfernt + from AccessControl import ClassSecurityInfo from Globals import DTMLFile from OFS.Image import Image,cookId @@ -29,6 +31,7 @@ from Products.PageTemplates.ZopePageTemp import os.path import urllib +import ECHO_helpers from ECHO_helpers import displayTypes,checkOnlyOneInGroup,unicodify from ECHO_collection import content_html import logging @@ -87,7 +90,7 @@ class ECHO_ZCatalogElement(SimpleItem): def changeECHO_ZCatalogElementForm(self): """change""" - pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeECHO_ZCatalogElement.zpt')).__of__(self) + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ChangeECHO_ZCatalogElement.zpt')).__of__(self) return pt() def changeECHO_ZCatalogElement(self,title,field,catalogId,baseUrl,weight,contentType,RESPONSE=None): @@ -381,7 +384,14 @@ class ECHO_pageTemplate(ZopePageTemplate else: return 0 - + def getCrumb(self): + """returns breadcrumb for this object""" + return ECHO_helpers.getCrumb(self) + + def getHierCrumbs(self): + """returns a list of hierarchical breadcrumbs from self to the ECHO_root""" + return ECHO_helpers.getHierCrumbs(self); + ## def __init__(self, id, text=None, contentType=None): @@ -556,11 +566,7 @@ class ECHO_navigation(Folder): displayableMetaTypes=displayTypes - def getImageViewers(self): - """images""" - viewers=self.ZopeFind(self.standardImageViewer,obj_metatypes=['OSAS_ViewerObject']) - return viewers - + def getR(self): """re""" return self.REQUEST @@ -579,6 +585,8 @@ class ECHO_navigation(Folder): ) displayedMetaTypes=displayTypes + + def ECHO_navigationConfigForm(self): """configForm""" pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ChangeECHO_navigation.zpt')).__of__(self) @@ -589,7 +597,7 @@ class ECHO_navigation(Folder): self.title=title self.pathToHierarchy=pathToHierarchy self.displayedMetaTypes=toList(displayedMetaTypes)[0:] - + if RESPONSE is not None: RESPONSE.redirect('manage_main') @@ -627,7 +635,7 @@ class ECHO_navigation(Folder): obj=objtemp for keys in obj.ZopeFind(obj,obj_metatypes=self.displayedMetaTypes): - + x=keys[1] if depth>1: nav[x.getId()]=(self.getColls(x,int(depth)-1,checkOnly),x) @@ -754,7 +762,7 @@ class ECHO_navigation(Folder): if len(item)<2: return 0 - #falls exakte Übereinstimmung dann immer 1 + #falls exakte Uebereinstimmung dann immer 1 if (testStr==item[1]) and (self.REQUEST.get('QUERY_STRING','')==''): return 1 @@ -796,8 +804,25 @@ class ECHO_navigation(Folder): return style + 'sel' else: return style + + + def getCrumb(self): + """returns breadcrumb for this object""" + # ignore this object if title is empty + if not self.title: + return None - + # we use title for the label TODO: add label to ECHO_root + crumb = {'obj': self, + 'url': self.absolute_url(), + 'label': self.title} + return crumb + + def getHierCrumbs(self): + """returns a list of hierarchical breadcrumbs from self to the ECHO_root""" + return ECHO_helpers.getHierCrumbs(self) + + def buttonsFromHash(self,hash,start=None,orientation="horizontal"): """Generate Buttons""" @@ -897,7 +922,7 @@ class ECHO_navigation(Folder): """Zweite Ordnung Navigationselemente""" hash=self.createNavHash(2,checkOnly="no") - + actual_url=self.REQUEST['URL'] ult_temp=re.sub(self.absolute_url(),"",actual_url)