cybertools/composer/layout/README.txt
helmutm 3c3d635493 work in progress: layout management
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2783 fd906abe-77d9-0310-91a1-e0d9ade77398
2008-07-31 11:18:28 +00:00

44 lines
1.4 KiB
Text

=================
Layout Management
=================
($Id$)
>>> from zope import component
>>> from zope.interface import Interface
>>> from cybertools.composer.layout.base import Layout, LayoutInstance
>>> from cybertools.composer.layout.region import Region, regions
Browser Views
=============
>>> from zope.traversing.adapters import DefaultTraversable
>>> component.provideAdapter(DefaultTraversable, (Interface,))
>>> from cybertools.composer.layout.browser.layout import PageLayout
>>> pageLayout = PageLayout()
>>> pageLayoutInstance = LayoutInstance(pageLayout)
>>> from zope.app.pagetemplate import ViewPageTemplateFile
>>> bodyLayout = Layout()
>>> bodyLayout.renderer = ViewPageTemplateFile('browser/liquid/body.pt').macros['body']
>>> bodyRegion = Region('body')
>>> bodyRegion.layouts.append(LayoutInstance(bodyLayout))
>>> regions['page.body'] = bodyRegion
>>> standardRenderers = ViewPageTemplateFile('browser/standard.pt').macros
>>> footerLayout = Layout()
>>> footerLayout.renderer = standardRenderers['footer']
>>> footerRegion = Region('footer')
>>> footerRegion.layouts.append(LayoutInstance(footerLayout))
>>> regions['body.footer'] = footerRegion
>>> from cybertools.composer.layout.browser.view import Page
>>> from zope.publisher.browser import TestRequest
>>> page = Page(pageLayoutInstance, TestRequest())
>>> page()
u'<!DOCTYPE ...>...<html ...>...</html>...