首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Plone 4中列出特定接口的视图名称?

如何在Plone 4中列出特定接口的视图名称?
EN

Stack Overflow用户
提问于 2012-02-02 18:53:37
回答 1查看 271关注 0票数 1

在zope组件系统中有没有什么简单的方法可以列出所有的视图(以及它们的名字),这些视图是为特定的接口(如IMyInterface)注册的?

代码语言:javascript
复制
<browser:page
  name="content-item-plain"
  for=".interfaces.IMyInterface"
  class=".content_item.MyView"
  permission="zope2.View"
  layer="my.model.browser.interfaces.IMyModelLayer"
  template="templates/content_item_plain.pt"
/>
代码语言:javascript
复制
class MyView(BrowserView):
    implements(ISomeInterface)

或者,更好的是,实现特定接口(ISomeInterface)的那些接口?

结果应该是类的列表/元组(MyView,MyView1,...)和/或名称("content-item-plain",...)。

如果有帮助,将classImplements/classProvides添加到MyView类是没有问题的。

到目前为止,已经尝试了很多方法。最近的是这样的:

代码语言:javascript
复制
from zope.component import getGlobalSiteManager
gsm = getGlobalSiteManager()
gsm.adapters.lookupAll((IMyInterface, IMyModelLayer), provided=Interface))

但是它提供了太多的结果,并且将provided更改为更具体的值会使其返回空元组。

有了结果,应该可以查找视图类属性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-02 23:29:53

是。

获取列表:

http://docs.plone.org/develop/plone/views/browserviews.html#listing-available-views

然后以你想要的方式过滤掉。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9111071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档