diff --git a/z2/browser/__init__.py b/z2/browser/__init__.py new file mode 100644 index 0000000..38314f3 --- /dev/null +++ b/z2/browser/__init__.py @@ -0,0 +1,3 @@ +""" +$Id$ +""" diff --git a/z2/browser/configure.zcml b/z2/browser/configure.zcml new file mode 100644 index 0000000..f5b6abc --- /dev/null +++ b/z2/browser/configure.zcml @@ -0,0 +1,19 @@ + + + + + + + + + diff --git a/z2/browser/generic.pt b/z2/browser/generic.pt new file mode 100644 index 0000000..01755ca --- /dev/null +++ b/z2/browser/generic.pt @@ -0,0 +1,14 @@ + + + + + +
+ +
+ + + + +
diff --git a/z2/browser.py b/z2/browser/view.py similarity index 60% rename from z2/browser.py rename to z2/browser/view.py index d161617..baeceae 100644 --- a/z2/browser.py +++ b/z2/browser/view.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2009 Helmut Merz helmutm@cy55.de +# Copyright (c) 2010 Helmut Merz helmutm@cy55.de # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -22,12 +22,38 @@ Base classes for views. $Id$ """ +from zope.app.pagetemplate import ViewPageTemplateFile from zope.cachedescriptors.property import Lazy from zope import component from Products.Five import BrowserView +#from Products.Five.browser.pagetemplatefile import PageTemplateFile -class GenericView(BrowserView): +generic_page = ViewPageTemplateFile('generic.pt') +view_macros = ViewPageTemplateFile('view_macros.pt') + + +class BaseView(BrowserView): + + index = generic_page + default_template = None # specify in subclass + + def __call__(self): + return self.index(self) + + def getMainMacro(self): + return view_macros.macros['main'] + + def getDefaultTemplate(self): + return self.default_template + + def getContentMacro(self): + return self.getDefaultTemplate().macros[self.content_renderer] + + +# generic views for use with generic persistent objects with type-based adapters + +class GenericView(BaseView): name = 'index_html' diff --git a/z2/browser/view_macros.pt b/z2/browser/view_macros.pt new file mode 100644 index 0000000..839b04e --- /dev/null +++ b/z2/browser/view_macros.pt @@ -0,0 +1,24 @@ + + + + + + + + +
+

Top Bar

+
+ +
+ Content +
+ +
+

Footer

+
+ + + + +
diff --git a/z2/configure.zcml b/z2/configure.zcml index 6d22a6b..f63e19c 100644 --- a/z2/configure.zcml +++ b/z2/configure.zcml @@ -14,16 +14,6 @@ --> - - - +