一个plone portlet,它显示自定义的最新类型

inquant.portlet.contextualrecentitems的Python项目详细描述


概述

进行适配器查找以获取 在最近更改的查询中使用的portal类型。 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请求 还有风景。因此,可以为 你的内容。这对于在网站根目录中注册的搜索页面非常有用:

<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。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓 xslt可与xalan cli一起使用,但不能从java代码中使用   java在spring应用程序中使用jackson进行序列化时面临的问题   Java检查Linux问题上的internet连接   当用户单击JavaSwing中的按钮时,从另一个类创建新对象   java为什么小于9,算上9?   使用Websphere 6.1生成WSDL的java未正确生成序列参数   javaq:ViewPager和OnClickListener   获取错误的java无法为child()中的参数“pathString”传递null   java组织。springframework。安全果心用户详细信息。用户详细信息创建用户   性能:单变量赋值与Objectgraph导航(Java)   java为什么资源中的CSS在spring jsp页面中不起作用?   较小的有限值双Java   java REST API如何处理post和函数错误   列出Java流API如何改进表达式