version 1.34, 2004/06/15 11:58:02
|
version 1.35, 2004/06/25 11:02:16
|
Line 15 import urllib
|
Line 15 import urllib
|
from ECHO_helpers import displayTypes,checkOnlyOneInGroup |
from ECHO_helpers import displayTypes,checkOnlyOneInGroup |
from ECHO_collection import content_html |
from ECHO_collection import content_html |
|
|
|
|
|
|
|
from Globals import DTMLFile |
|
from OFS.Image import Image,cookId |
|
from OFS.Folder import Folder |
|
from OFS.SimpleItem import SimpleItem |
|
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
|
from Products.PageTemplates.PageTemplate import PageTemplate |
|
import re |
|
import string |
|
from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate |
|
import os.path |
|
from Globals import package_home |
|
import urllib |
|
from ECHO_helpers import displayTypes,checkOnlyOneInGroup |
|
from ECHO_collection import content_html |
|
|
|
|
|
|
|
|
|
class ECHO_ZCatalogElement(SimpleItem): |
|
"""Erzeuge navigation aus ZCatalog-abfrage""" |
|
meta_type="ECHO_ZCatalogElement" |
|
baseUrl="" |
|
|
|
def __init__(self,id,title,field,catalogId,baseUrl,weight,contentType): |
|
"""init""" |
|
self.id=id |
|
self.title=title |
|
self.catalogId=catalogId |
|
self.field=field |
|
|
|
self.baseUrl=baseUrl |
|
self.weight=weight |
|
self.content=contentType |
|
|
|
manage_options= SimpleItem.manage_options+( |
|
{'label':'Main Config','action':'changeECHO_ZCatalogElementForm'}, |
|
) |
|
|
|
|
|
def getWeight(self): |
|
"""get weight""" |
|
if hasattr(self,'weight'): |
|
return self.weight |
|
else: |
|
return 0 |
|
|
|
def getcontentType(self): |
|
"""get weight""" |
|
|
|
if hasattr(self,'contentType'): |
|
return self.contentType |
|
else: |
|
return 0 |
|
|
|
|
|
def changeECHO_ZCatalogElementForm(self): |
|
"""change""" |
|
|
|
pt=PageTemplateFile('Products/ECHO_content/zpt/changeECHO_ZCatalogElement.zpt').__of__(self) |
|
return pt() |
|
|
|
def changeECHO_ZCatalogElement(self,title,field,catalogId,baseUrl,weight,contentType,RESPONSE=None): |
|
"""change""" |
|
self.title=title |
|
self.catalogId=catalogId |
|
self.field=field |
|
self.baseUrl=baseUrl |
|
self.weight=weight |
|
self.contentType=contentType |
|
|
|
if RESPONSE is not None: |
|
RESPONSE.redirect('manage_main') |
|
|
|
def getKeywordList(self): |
|
return getattr(self,self.catalogId).uniqueValuesFor(self.field) |
|
|
|
def getNavList(self): |
|
"""ausgabe der treffer list für navigation""" |
|
records=self.getKeywordList() |
|
|
|
if not records: |
|
return [] |
|
else: |
|
ret=[] |
|
for record in records: |
|
#print "RC",record |
|
#if record: |
|
# ret.append((record,self.baseUrl+urllib.quote(record))) |
|
try: |
|
ret.append((record,self.baseUrl+urllib.quote(record))) |
|
except: |
|
"""nothing""" |
|
|
|
return ret |
|
|
|
|
|
def manage_addECHO_ZCatalogElementForm(self): |
|
"""Form for adding""" |
|
pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_ZCatalogElement.zpt').__of__(self) |
|
return pt() |
|
|
|
def manage_addECHO_ZCatalogElement(self,id,title,field,baseUrl,weight,contentType,RESPONSE=None): |
|
"""Add an ECHO_ZCatalogelement""" |
|
self._setObject(id,ECHO_ZCatalogElement(id,title,field,baseUrl,weight,contentType)) |
|
|
|
if RESPONSE is not None: |
|
RESPONSE.redirect('manage_main') |
|
|
|
|
|
|
class ECHO_contentType(Image): |
class ECHO_contentType(Image): |
"""ContentType Object""" |
"""ContentType Object""" |
|
|
Line 285 class ECHO_navigation(Folder):
|
Line 397 class ECHO_navigation(Folder):
|
|
|
displayedMetaTypes=displayTypes |
displayedMetaTypes=displayTypes |
|
|
|
def getImageViewers(self): |
|
"""images""" |
|
viewers=self.ZopeFind(self.standardImageViewer,obj_metatypes=['OSAS_ViewerObject']) |
|
return viewers |
|
|
def getR(self): |
def getR(self): |
"""re""" |
"""re""" |
return self.REQUEST |
return self.REQUEST |
Line 392 class ECHO_navigation(Folder):
|
Line 509 class ECHO_navigation(Folder):
|
|
|
for x in self.tempSorted(temp, field=sortField): |
for x in self.tempSorted(temp, field=sortField): |
if not temp[x][1].title == "": |
if not temp[x][1].title == "": |
if temp[x][1].meta_type=="ECHO_sqlElement": |
|
|
if (temp[x][1].meta_type=="ECHO_sqlElement") or (temp[x][1].meta_type=="ECHO_ZCatalogElement"): |
|
|
for z in temp[x][1].getNavList(): |
for z in temp[x][1].getNavList(): |
listNav.append((z[0],z[1],None)) |
listNav.append((z[0],z[1],None)) |
|
|
else: |
else: |
# add label falls existiert und nicht leer |
# add label falls existiert und nicht leer |
if hasattr(temp[x][1],'label'): |
if hasattr(temp[x][1],'label'): |
if not temp[x][1].label=='': |
if not temp[x][1].label=='': |
label=temp[x][1].label.encode('utf-8') |
label=temp[x][1].label.decode('utf-8','ignore') |
|
|
else: |
else: |
label=temp[x][1].title.encode('utf-8') |
label=temp[x][1].title.encode('utf-8') |