Zope 需要了解视图、Viewlet、ViewletManager和页面的帮助吗

Zope 需要了解视图、Viewlet、ViewletManager和页面的帮助吗,zope,grok,zope3,Zope,Grok,Zope3,我知道这肯定是一个幼稚的问题,但我无法通过阅读分散的(有时是过时的文档)找到答案,所以我有点困惑。所有这些视图图层组件的概念含义是什么?它们之间的区别是什么?我什么时候应该用哪个 如果有人能告诉我这件事,我将不胜感激。TIA,视图是基本组件;它适应上下文和请求,因此该组件可以应用来自请求和上下文的数据来生成。。什么 页面是一个专门的视图;它生成针对浏览器的输出。它通常涉及一个模板 viewlet和viewlet管理器紧密结合在一起。viewlet是一种专用视图,它不打算单独使用,而是在部件中使用

我知道这肯定是一个幼稚的问题,但我无法通过阅读分散的(有时是过时的文档)找到答案,所以我有点困惑。所有这些视图图层组件的概念含义是什么?它们之间的区别是什么?我什么时候应该用哪个


如果有人能告诉我这件事,我将不胜感激。TIA,视图是基本组件;它适应上下文和请求,因此该组件可以应用来自请求和上下文的数据来生成。。什么

页面是一个专门的视图;它生成针对浏览器的输出。它通常涉及一个模板

viewlet和viewlet管理器紧密结合在一起。viewlet是一种专用视图,它不打算单独使用,而是在部件中使用。viewlet管理器在此处进行组装;您可以向viewlet管理器询问在该管理器中注册并处于活动状态的所有viewlet。Viewlet通常是登录链接、登录用户的个人信息栏等。只有在没有登录用户时,登录链接才会激活,只有在有登录用户时,个人信息栏才会激活,等等

基本上,Viewlet允许您将呈现页面的特定“区域”的责任委托给组件,其中管理器处理一个特定区域,而Viewlet是用于呈现片段的组件

这不是一个完整的答案,但是:(1)浏览器视图是一个上下文(通常是内容)和一个可调用的请求对象的多适配器(调用它将发布到浏览器中)(2)如果您周围有一个Plone站点,请尝试访问该站点上的/@@manage viewlets,这在视觉上很有说明性;(3) Plone社区在这里有一些很好的文档,其中大部分与grok/BlueStream或其他zope环境相关: