[Zope3-Users] viewtemplate
eXt
restless.being at gmail.com
Fri Oct 27 09:28:00 EDT 2006
Hi all
I recently read Stephan Richter's blog post:
http://blogs.lovelysystems.com/srichter/2006/09/20/the-skin-browser-and-lovely-systems-new-development-workflow
and "intendent scope of viewlets" thread:
http://thread.gmane.org/gmane.comp.web.zope.zope3.user/4652/focus=4652.
I like the idea behind viewtemplate very much (separation of template and view
code), but I've some problems with putting all of this together. Let me
summarize:
1. Views and Viewlets belong to the layer
2. Templates belong to the skin
3. ViewletManagers belong to.. ?
4. Lovely's packaging practices says that:
- views should be placed and registered in
project.browser.layer.<subpackage_for_the_view_impelentations>
- templates should be placed and registered in project.browser.skin
package
- viewletmanagers... ?
ViewletManagers may have a class and a template, VMs are called from
templates, viewlets are registered for VMs. Shouldn't it be resolved by
<template> tag which registers a template with ViewletManager as it is done
for Viewlets and Views?
One more thing is a layer declaration such as (from Stephan's post):
<browser:viewlet
name="bloglist"
for="myproject.interfaces.IBlog"
manager="myproject.browser.interfaces.IContent"
view="myproject.browser.blog.BlogPage"
class="myproject.browser.blog.BlogList"
layer="myproject.browser.IProjectLayer"
permission="zope.Public"
/>
while template is registered for skin:
<browser:template
template="bloglist.pt"
layer="myproject.browser.skin.IProjectSkin"
for="myproject.browser.blog.BlogList"
/>
I'm pretty new to the skinnig concept. What is the purpose of IProjectLayer?
Is it that views and viewlets are registered to IProjectLayer which
is "project marker" interface, while templates are registered for skins. As a
result we have stable project's code base and skins which are just templates.
Any discussion on the above topics will be appreciated :)
--
Jakub Wisniowski
More information about the Zope3-users
mailing list