一个显示自定义最近类型的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 |