仅在特定上下文(文件夹或集合)中列出过期的plone内容

仅在特定上下文(文件夹或集合)中列出过期的plone内容,plone,Plone,我必须在特定的文件夹或集合中列出过期的对象,这些对象也是匿名用户的。 你知道,portal_目录只返回未过期的大脑。这是一个有用的行为,但不是在这种情况下 要强制目录同时返回过期内容,我们必须传递一个特定参数:show\u inactive 浏览文件夹列表(&family)代码时,我注意到可以通过请求将optionals参数(contentFilter)传递给query/getFolderContents。这是一个很好的特性,可以自定义查询,避免创建非常相似的列表模板 我想有必要创建一个标记接口

我必须在特定的文件夹或集合中列出过期的对象,这些对象也是匿名用户的。 你知道,portal_目录只返回未过期的大脑。这是一个有用的行为,但不是在这种情况下

要强制目录同时返回过期内容,我们必须传递一个特定参数:show\u inactive

浏览文件夹列表(&family)代码时,我注意到可以通过请求将optionals参数(contentFilter)传递给query/getFolderContents。这是一个很好的特性,可以自定义查询,避免创建非常相似的列表模板

我想有必要创建一个标记接口来标记上下文(文件夹或集合),我想在其中列出过期的内容。对于前总统来说,这是一个好消息

我设想:

1) 使订阅者在遍历之前进行拦截,并在处理程序中进行测试,以验证上下文是否实现了IListExpired。在积极的情况下,我做了一个决定

request.set('folderListing', {'show_inactive':True})
2) 为调用集中指定的对象创建viewlet

request.set('folderListing', {'show_inactive':True})
最好的办法是什么?我想第一个可能是不必要的开销


维托

好吧,这是两个不同的东西:
文件夹列表
使用
show_inactive
是Plone目录的一个选项,因此您无法按计划使其工作

我认为您应该覆盖这些视图,并使用catalog调用重写列表

您最好为您的软件包使用一个浏览器层,或者在计划中使用一个标记界面