A Plone Portlet which displays custom recent types
Project description
Overview
A Plone Portlet which does an adapter lookup to fetch the portal type to use in the query for recently changed portlets.
Rationale
This is scratching an itch of a customer, which wants to display only recent “news” on a news page etc. Instead of hard-coding the portal type, we do a adapter lookup.
Usage
Users then can register adapters like:
<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" />
And have the actual adapter look like:
class FeedItemTypeProvider(object): def __init__(self, context, request, view): pass type = "FeedFeederItem"
The portlet renderer does a queryMultiAdapter on the context, the request and the view. Thus, it’s possible to have a different portlet for each view of your content. This is useful for search pages registered on the site root:
<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"
That way, the recent changes portlet only shows items which match your search page.
Of course, if no adapter is found, the portlet falls back to its normal behavior like the standard plone recently changed portlet.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for inquant.portlet.contextualrecentitems-0.2.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53b5f33578849686069d80f269747ea325a070f93f915895b3eecb14424dc5d3 |
|
MD5 | ed692215601597c3971532358febefa6 |
|
BLAKE2b-256 | 50b38f620c419b8ced22ee912f7a522c97decbbb1ea0f4a927d5172945e2cc74 |
Hashes for inquant.portlet.contextualrecentitems-0.2.5-py2.4.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26c4f2cf9fa3bc49c0f8ecef1ad538f082d76585e8861d1fbd1e789e31399223 |
|
MD5 | a597e7ab646e0fdaf9d5b4ff571d0d0d |
|
BLAKE2b-256 | 597cfceb67e5f3ac4da9eb55109a6c3a662447edb8ae7f12ec07539bace6df29 |