cybertools/composer/layout
helmutm 1e698be24b work in progress: layout management: repurpose layout instance; provide page (top-level view) that in turn invokes a top-level layout view
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2786 fd906abe-77d9-0310-91a1-e0d9ade77398
2008-07-31 16:17:38 +00:00
..
browser work in progress: layout management: repurpose layout instance; provide page (top-level view) that in turn invokes a top-level layout view 2008-07-31 16:17:38 +00:00
__init__.py created composer.layout package 2008-07-15 11:53:56 +00:00
base.py work in progress: layout management: repurpose layout instance; provide page (top-level view) that in turn invokes a top-level layout view 2008-07-31 16:07:54 +00:00
configure.zcml created composer.layout package 2008-07-15 11:53:56 +00:00
interfaces.py work in progress: layout management: repurpose layout instance; provide page (top-level view) that in turn invokes a top-level layout view 2008-07-31 16:07:54 +00:00
README.txt work in progress: layout management: repurpose layout instance; provide page (top-level view) that in turn invokes a top-level layout view 2008-07-31 16:17:38 +00:00
region.py work in progress: layout management: repurpose layout instance; provide page (top-level view) that in turn invokes a top-level layout view 2008-07-31 16:07:54 +00:00
tests.py created composer.layout package 2008-07-15 11:53:56 +00:00

=================
Layout Management
=================

  ($Id$)

  >>> from zope import component
  >>> from zope.interface import Interface

  >>> from cybertools.composer.layout.base import LayoutManager
  >>> component.provideUtility(LayoutManager())

  >>> from cybertools.composer.layout.base import Layout, LayoutInstance


Browser Views
=============

  >>> from zope.app.pagetemplate import ViewPageTemplateFile
  >>> standardRenderers = ViewPageTemplateFile('browser/standard.pt').macros

  >>> from zope.traversing.adapters import DefaultTraversable
  >>> component.provideAdapter(DefaultTraversable, (Interface,))

  >>> bodyLayout = Layout()
  >>> bodyLayout.renderer = ViewPageTemplateFile('browser/liquid/body.pt').macros['body']
  >>> bodyLayout.registerFor('page.body')

  >>> footerLayout = Layout()
  >>> footerLayout.renderer = standardRenderers['footer']
  >>> footerLayout.registerFor('body.footer')

  >>> from cybertools.composer.layout.browser.view import Page
  >>> from zope.publisher.browser import TestRequest
  >>> page = Page(None, TestRequest())

  >>> page()
  u'<!DOCTYPE ...>...<html ...>...</html>...