cybertools/composer/layout
helmutm 7793462e9a work in progress: layout composer
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2889 fd906abe-77d9-0310-91a1-e0d9ade77398
2008-09-18 10:14:56 +00:00
..
browser work in progress: layout composer 2008-09-18 10:14:56 +00:00
__init__.py created composer.layout package 2008-07-15 11:53:56 +00:00
base.py work in progress: layout composer 2008-09-18 10:14:56 +00:00
configure.zcml created composer.layout package 2008-07-15 11:53:56 +00:00
interfaces.py provide basic/default layout 2008-08-27 10:40:37 +00:00
README.txt work in progress: layout composer 2008-09-18 10:14:56 +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
  >>> manager = LayoutManager()
  >>> component.provideUtility(manager)

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


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

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

  >>> from cybertools.composer.layout.base import Layout
  >>> from cybertools.composer.layout.interfaces import ILayout

  >>> #css = Layout('page.css', renderer=standardRenderers['css'])
  >>> # css = ResourceCollection('css', resourceRenderers['css'])
  >>> #component.provideUtility(css, ILayout, name='css')

  >>> from cybertools.composer.layout.browser.liquid.default import BodyLayout
  >>> bodyLayout = BodyLayout()
  >>> component.provideUtility(bodyLayout, ILayout, name='body.liquid')

  >>> footerLayout = Layout('body.footer', renderer=standardRenderers['footer'])
  >>> component.provideUtility(footerLayout, ILayout, name='footer.default')

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

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