--- ECHO_content/ECHO_Nav.py 2004/04/28 15:50:12 1.17 +++ ECHO_content/ECHO_Nav.py 2004/05/06 10:27:07 1.18 @@ -12,6 +12,7 @@ from Products.PageTemplates.ZopePageTemp import os.path from Globals import package_home import urllib +from ECHO_helpers import displayTypes,checkOnlyOneInGroup class ECHO_contentType(Image): """ContentType Object""" @@ -276,7 +277,7 @@ class ECHO_navigation(Folder): """Navigations Element""" meta_type="ECHO_Navigation" - displayedMetaTypes=['ECHO_group','ImageCollectionIFrame','ECHO_collection','ECHO_pageTemplate','ZSQLExtendFolder','ZSQLBibliography','ECHO_sqlElement','ECHO_resource','ECHO_externalLink'] + displayedMetaTypes=displayTypes def __init__(self,id,title,pathToHierarchy): """init""" @@ -305,14 +306,13 @@ class ECHO_navigation(Folder): def getColls(self,obj,depth): nav={} #print "HERE",obj. - for keys in obj.__dict__.keys(): - x=getattr(obj,keys) - if hasattr(x,"meta_type"): - if x.meta_type in self.displayedMetaTypes: - if depth>1: - nav[x.getId()]=(self.getColls(x,depth-1),x) - else: - nav[x.getId()]=(None,x) + for x_objs in obj.ZopeFind(obj,obj_metatypes=self.displayedMetaTypes): + x=x_objs[1] + x = checkOnlyOneInGroup(x) + if depth>1: + nav[x.getId()]=(self.getColls(x,depth-1),x) + else: + nav[x.getId()]=(None,x) return nav def createNavHash(self,depth): @@ -324,19 +324,12 @@ class ECHO_navigation(Folder): objtemp=eval(temp) nav={} obj=objtemp - - #exec(obj) - #objtemp = compile(temp,'','single') - #obj=eval(objtemp) - #print obj - - #print obj.__dict__.keys() for keys in obj.__dict__.keys(): x=getattr(obj,keys) if hasattr(x,"meta_type"): - #print x.meta_type + if x.meta_type in self.displayedMetaTypes: if depth>1: @@ -529,11 +522,6 @@ class ECHO_navigation(Folder): splitted=ult_temp.split("/") - ## if splitted[len(splitted)-1]=="index_html": -## start=[splitted[len(splitted)-2]] -## else: -## start=[splitted[len(splitted)-1]] - start=[splitted[2]] #print start