Minor changes on NodeView and node.pt

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@1015 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2006-01-17 19:08:23 +00:00
parent ae50a54714
commit 34f71d7aa5
3 changed files with 19 additions and 9 deletions

View file

@ -216,13 +216,13 @@ Node views
>>> from loops.browser.node import NodeView
>>> view = NodeView(m11, TestRequest())
>>> page = view.page()
>>> page = view.page
>>> items = page.textItems()
>>> for item in items:
... print item.url, item.editable
http://127.0.0.1/loops/views/m1/m11/m112 False
>>> menu = view.menu()
>>> menu = view.menu
>>> items = menu.menuItems()
>>> for item in items:
... print item.url, view.selected(item)

View file

@ -24,7 +24,7 @@
zmi=window.open('${item/url}/@@edit.html', 'zmi');;
zmi.focus();; return false;;"
tal:attributes="class string:content-$level;
onclick python: item.editable and onclick or ''"
ondblclick python: item.editable and onclick or ''"
tal:content="structure body">
The body
</div>
@ -67,6 +67,12 @@
</tal:menu>
</div>
<div metal:fill-slot="footer">
<a href="#"
tal:attributes="href string:${view/menu/url}/impressum">Impressum</a>
</div>
</body>
</html>
</tal:show>

View file

@ -38,7 +38,9 @@ class NodeView(object):
self.context = context
self.request = request
def render(self, text):
def render(self, text=None):
if text is None:
text = self.context.body
if not text:
return u''
if text.startswith('<'): # seems to be HTML
@ -55,6 +57,7 @@ class NodeView(object):
d = dc.modified or dc.created
return d and d.strftime('%Y-%m-%d %H:%M') or ''
@Lazy
def page(self):
page = self.context.getPage()
return page is not None and NodeView(page, self.request) or None
@ -63,17 +66,18 @@ class NodeView(object):
for child in self.context.getTextItems():
yield NodeView(child, self.request)
def menuItems(self):
for child in self.context.getMenuItems():
yield NodeView(child, self.request)
@Lazy
def menu(self):
menu = self.context.getMenu()
return menu is not None and NodeView(menu, self.request) or None
def menuItems(self):
for child in self.context.getMenuItems():
yield NodeView(child, self.request)
@Lazy
def body(self):
return self.render(self.context.body)
return self.render()
@Lazy
def url(self):