一个显示自定义最近类型的Plone Portlet
项目描述
概述
这是一个Plone Portlet,它通过适配器查找来获取用于查询最近更改的Portlet的门户类型。
理由
这是为了满足一个客户的需求,该客户希望在新闻页面上只显示最近更改的“新闻”等。我们不是硬编码门户类型,而是进行适配器查找。
用法
用户可以注册适配器,如下所示:
<adapter for=".interfaces.INewsArea zope.publisher.interfaces.browser.IBrowserRequest zope.publisher.interfaces.browser.IBrowserView " provides="inquant.portlet.contextualrecentitems.interfaces.ITypeNameProvider" factory=".adapters.FeedItemTypeProvider" /> <five:implements class="Products.feedfeeder.content.folder.FeedfeederFolder" interface=".interfaces.INewsArea" />
实际的适配器看起来像这样:
class FeedItemTypeProvider(object): def __init__(self, context, request, view): pass type = "FeedFeederItem"
Portlet渲染器在上下文、请求和视图中执行queryMultiAdapter。因此,可以为内容的每个视图拥有不同的Portlet。这对于在网站根目录上注册的搜索页面非常有用
<adapter for="zope.interface.Interface zope.publisher.interfaces.browser.IBrowserRequest Products.BabpnProducts.browser.search.BabpnBOSearchView" provides="inquant.portlet.contextualrecentitems.interfaces.ITypeNameProvider" factory=".adapters.BizOpTypeProvider" /> class BizOpTypeProvider(object): def __init__(self, context, request, view): pass type = "BusinessOpportunity"
这样,最近更改的Portlet只显示与您的搜索页面匹配的条目。
当然,如果没有找到适配器,Portlet将回退到其正常行为,就像标准的Plone最近更改Portlet一样。
项目详情
关闭
哈希值 for inquant.portlet.contextualrecentitems-0.2.5.tar.gz
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 53b5f33578849686069d80f269747ea325a070f93f915895b3eecb14424dc5d3 |
|
MD5 | ed692215601597c3971532358febefa6 |
|
BLAKE2b-256 | 50b38f620c419b8ced22ee912f7a522c97decbbb1ea0f4a927d5172945e2cc74 |
关闭
哈希值 for inquant.portlet.contextualrecentitems-0.2.5-py2.4.egg
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 26c4f2cf9fa3bc49c0f8ecef1ad538f082d76585e8861d1fbd1e789e31399223 |
|
MD5 | a597e7ab646e0fdaf9d5b4ff571d0d0d |
|
BLAKE2b-256 | 597cfceb67e5f3ac4da9eb55109a6c3a662447edb8ae7f12ec07539bace6df29 |