--- ECHO_content/ECHO_Nav.py 2004/11/24 15:20:14 1.50
+++ ECHO_content/ECHO_Nav.py 2005/02/07 19:40:37 1.54
@@ -1,5 +1,6 @@
# Objekte zur Erzeugung von Navigationselementen
+from AccessControl import ClassSecurityInfo
from Globals import DTMLFile
from OFS.Image import Image,cookId
from OFS.Folder import Folder
@@ -297,17 +298,21 @@ def manage_addECHO_sqlElement(self,id,ti
RESPONSE.redirect('manage_main')
-class ECHO_pageTemplate(ZopePageTemplate):
+class ECHO_pageTemplate(ZopePageTemplate,ECHO_basis):
"""pageTemplate Objekt"""
meta_type="ECHO_pageTemplate"
-
+ security=ClassSecurityInfo()
+
_default_content_fn = os.path.join(package_home(globals()),
'html/ECHO_pageTemplateDefault.html')
- manage_options=ZopePageTemplate.manage_options+(
+ manage_options=ZopePageTemplate.manage_options+ECHO_basis.manage_options+(
{'label':'Main Config','action':'changeECHO_pageTemplateMainForm'},
)
+ security.declarePublic('content_html')
+
+
def content_html(self):
"""content_html"""
return content_html(self,'pageTemplate')
@@ -329,14 +334,7 @@ class ECHO_pageTemplate(ZopePageTemplate
if RESPONSE is not None:
RESPONSE.redirect('manage_main')
-
- def getLabel(self):
- if hasattr(self,'label'):
- return self.label.encode('utf-8')
-
- else:
- return 0
-
+
def getWeight(self):
"""get weight"""
if hasattr(self,'weight'):
@@ -414,6 +412,30 @@ class ECHO_navigation(Folder):
"""Navigations Element"""
meta_type="ECHO_Navigation"
+ def linkBar(self,parent):
+ """linkbarer balken"""
+ str=""
+
+
+ while not(parent.meta_type == "ECHO_root"):
+ fragment="""%s"""%(parent.absolute_url(),parent.label)
+ str=fragment+"/"+str
+ parent=parent.aq_parent
+
+ return str
+
+ def decode(self,str):
+ """decoder"""
+ if not str:
+ return ""
+ if type(str)==StringType:
+
+ return str
+ else:
+ try:
+ return str.encode('utf-8')
+ except:
+ return str.encode('latin-1')
def ECHOFormatListStr(self,list,search="\n",replace="
"):
"""formatiert liste im str"""
if list:
@@ -618,13 +640,14 @@ class ECHO_navigation(Folder):
label=temp[x][1].title.encode('utf-8')
else:
label=temp[x][1].title.encode('utf-8')
-
+
if location:
+
loc=getattr(temp[x][1],'location','top')
if (loc==location):
- listNav.append((label,createPath(self.absolute_url(),temp[x][1].absolute_url()),temp[x][1],getattr(temp[x][1],'prefix',''),getattr(temp[x][1],'suffix','')))
+ listNav.append((label,createPath(self.absolute_url(),temp[x][1].absolute_url())+getattr(temp[x][1],'queryString',''),temp[x][1],getattr(temp[x][1],'prefix',''),getattr(temp[x][1],'suffix','')))
else:
- listNav.append((label,createPath(self.absolute_url(),temp[x][1].absolute_url()),temp[x][1],getattr(temp[x][1],'prefix',''),getattr(temp[x][1],'suffix','')))
+ listNav.append((label,createPath(self.absolute_url(),temp[x][1].absolute_url())+getattr(temp[x][1],'queryString',''),temp[x][1],getattr(temp[x][1],'prefix',''),getattr(temp[x][1],'suffix','')))
return listNav
@@ -634,7 +657,10 @@ class ECHO_navigation(Folder):
for x in hash.keys():
#print hash[x][1]
if hasattr(hash[x][1],field):
- weight=getattr(hash[x][1],field)
+ try:
+ weight=int(getattr(hash[x][1],field))
+ except:
+ weight=getattr(hash[x][1],field)
#print weight
else:
weight=0
@@ -769,7 +795,9 @@ class ECHO_navigation(Folder):
return nr+1
def secondNavElements(self):
- """Zweite Ordnung"""
+ """Zweite Ordnung Navigationselemente
+
+ """
hash=self.createNavHash(2,checkOnly="no")
actual_url=self.REQUEST['URL']