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:
parent
ae50a54714
commit
34f71d7aa5
3 changed files with 19 additions and 9 deletions
|
@ -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)
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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):
|
||||
|
|
Loading…
Add table
Reference in a new issue