work in progress: layouts for the Lobo skin
git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3999 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
parent
068eef9753
commit
033604cbc2
3 changed files with 35 additions and 12 deletions
|
@ -47,4 +47,12 @@
|
||||||
factory="loops.browser.lobo.standard.Header2"
|
factory="loops.browser.lobo.standard.Header2"
|
||||||
permission="zope.View" />
|
permission="zope.View" />
|
||||||
|
|
||||||
|
<zope:adapter
|
||||||
|
name="lobo_cell"
|
||||||
|
for="loops.interfaces.IConceptSchema
|
||||||
|
loops.browser.skin.Lobo"
|
||||||
|
provides="zope.interface.Interface"
|
||||||
|
factory="loops.browser.lobo.standard.ConceptView"
|
||||||
|
permission="zope.View" />
|
||||||
|
|
||||||
</configure>
|
</configure>
|
||||||
|
|
|
@ -52,10 +52,10 @@
|
||||||
|
|
||||||
|
|
||||||
<metal:block define-macro="header2">
|
<metal:block define-macro="header2">
|
||||||
<metal:headline use-macro="item/macros/headline" />
|
|
||||||
<div tal:define="cell part/getView">
|
<div tal:define="cell part/getView">
|
||||||
|
<metal:headline use-macro="item/macros/headline" />
|
||||||
<metal:image use-macro="item/macros/image" />
|
<metal:image use-macro="item/macros/image" />
|
||||||
<br />
|
<metal:text use-macro="item/macros/text" />
|
||||||
</div>
|
</div>
|
||||||
</metal:block>
|
</metal:block>
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ from zope.cachedescriptors.property import Lazy
|
||||||
from cybertools.typology.interfaces import IType
|
from cybertools.typology.interfaces import IType
|
||||||
from loops.browser.concept import ConceptView as BaseConceptView
|
from loops.browser.concept import ConceptView as BaseConceptView
|
||||||
from loops.browser.concept import ConceptRelationView as BaseConceptRelationView
|
from loops.browser.concept import ConceptRelationView as BaseConceptRelationView
|
||||||
from loops.common import adapted
|
from loops.common import adapted, baseObject
|
||||||
|
|
||||||
|
|
||||||
standard_template = ViewPageTemplateFile('standard.pt')
|
standard_template = ViewPageTemplateFile('standard.pt')
|
||||||
|
@ -53,17 +53,29 @@ class Base(BaseConceptView):
|
||||||
|
|
||||||
class ConceptView(BaseConceptView):
|
class ConceptView(BaseConceptView):
|
||||||
|
|
||||||
def __init__(self, context, request, parent=None, idx=0):
|
idx = 0
|
||||||
super(ConceptView, self).__init__(context, request)
|
|
||||||
self.parentView = parent
|
def __init__(self, context, request):
|
||||||
self.idx = idx
|
super(ConceptView, self).__init__(baseObject(context), request)
|
||||||
|
self.adapted = context
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
def resources(self):
|
||||||
|
result = dict(texts=[], images=[], files=[])
|
||||||
|
for r in self.context.getResources([self.defaultPredicate]):
|
||||||
|
if r.contentType.startswith('text/'):
|
||||||
|
result['texts'].append(r)
|
||||||
|
if r.contentType.startswith('image/'):
|
||||||
|
result['images'].append(r)
|
||||||
|
else:
|
||||||
|
result['files'].append(r)
|
||||||
|
return result
|
||||||
|
|
||||||
# properties from base class: title, description, renderedDescription
|
# properties from base class: title, description, renderedDescription
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def renderedText(self):
|
def renderedText(self):
|
||||||
for r in self.context.getResources([self.defaultPredicate]):
|
for r in self.resources['texts']:
|
||||||
if r.contentType.startswith('text/'):
|
|
||||||
return self.renderText(r.data, r.contentType)
|
return self.renderText(r.data, r.contentType)
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
|
@ -82,8 +94,7 @@ class ConceptView(BaseConceptView):
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def img(self):
|
def img(self):
|
||||||
for r in self.context.getResources([self.defaultPredicate]):
|
for r in self.resources['images']:
|
||||||
if r.contentType.startswith('image/'):
|
|
||||||
src = ('%s/mediaasset.html?v=%s' %
|
src = ('%s/mediaasset.html?v=%s' %
|
||||||
(self.nodeView.getUrlForTarget(r),
|
(self.nodeView.getUrlForTarget(r),
|
||||||
self.parentView.imageSize))
|
self.parentView.imageSize))
|
||||||
|
@ -133,7 +144,10 @@ class BasePart(Base):
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def getView(self):
|
def getView(self):
|
||||||
return ConceptView(self.context, self.request, parent=self)
|
view = component.getMultiAdapter((self.adapted, self.request),
|
||||||
|
name='lobo_cell')
|
||||||
|
view.parentView = self
|
||||||
|
return view
|
||||||
|
|
||||||
|
|
||||||
class Grid3(BasePart):
|
class Grid3(BasePart):
|
||||||
|
@ -162,5 +176,6 @@ class Header2(BasePart):
|
||||||
|
|
||||||
macroName = 'header2'
|
macroName = 'header2'
|
||||||
imageSize = 'medium'
|
imageSize = 'medium'
|
||||||
|
imageCssClass = 'flow-left'
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue