在Plone文件夹视图中列出子文件夹的内容
在具有该结构的克隆位点上在Plone文件夹视图中列出子文件夹的内容,plone,Plone,在具有该结构的克隆位点上 root +-topic1 | +-page1 | +-page2 | +-topic2 +-page3 +-page4 我想要文件夹根目录的视图,该视图列出子文件夹的内容,如: [http://host/plone/root/] TOPIC1 - page1 - page2 TOPIC2 - page3 - page4 以“主题1”和“主题2”作为标题,“页面1”等链接到实际页面 仅
root
+-topic1
| +-page1
| +-page2
|
+-topic2
+-page3
+-page4
我想要文件夹根目录的视图,该视图列出子文件夹的内容,如:
[http://host/plone/root/]
TOPIC1
- page1
- page2
TOPIC2
- page3
- page4
以“主题1”和“主题2”作为标题,“页面1”等链接到实际页面
仅仅使用集合聚合topic1和topic2文件夹中的页面是不够的,因为它不会生成副标题
我搜索了Plone产品存储库和web,寻找提供类似视图的扩展,但没有成功。有消息称,这可以通过自定义显示视图来实现,但由于我对Plone还不熟悉,所以我不太愿意深入研究这些
是否有Plone产品/扩展可以提供子文件夹内容的这种视图?
或者是否有我不知道的内置解决方案?您可以在此处使用集合,将两条路径配置为标准。
如果您愿意,您可以使用此集合作为“root”的默认视图。查看其中的默认“新闻”和“事件”文件夹和集合
我想出来了
基本上,您要做的是扩展文件夹\u摘要\u视图
模板,以包含文件夹和集合项目的内容列表
创建副本。在ZMI中,转到门户网站\u皮肤/plone\u内容/文件夹\u摘要\u视图
并点击自定义。转到portal\u skins/custom/folder\u summary\u view
的副本,并将其重命名为(例如)list\u contents
将其作为文件夹视图激活。转到门户网站类型/文件夹
,然后手动将列表内容
添加到可用视图方法的列表中
确保视图仅显示文件夹和集合。将生成条目详细信息的代码包装到生成条目
添加列出项目内容的代码。您可以从portal\u skins/plone\u content/folder\u listing
中窃取它,因为这已经完成了所需的操作。复制代码>部分,但用此行替换
中的folderContents
定义以检索内容:
(全部在一行中)
注意:item\u object
是外部列表中为项目指定的名称
如果现在将list_contents
激活为文件夹视图,它将完全按照问题中的要求工作
警告:这是一个Plone新手的复制粘贴攻击,适合我™. 使用风险自负。您也可以通过Plone UI实现这一点:
安装Products.ContentWellPortlet,并将内容下方的两个集合Portlet分配给门户的默认视图项(默认情况下为“首页”)谢谢,但据我所知,集合只是聚合页面-它既不生成副标题,也不按文件夹对页面进行排序。这是一项要求。我已经澄清了上述问题。我建议您无论如何都要使用集合(内部称为ATTopic)。然后就可以编写自定义视图来满足您的需求。+1在为此编写浏览器视图时,最好使用集合作为基础。不要认为这是一个结构问题,而是一个行为问题——不管您是将自定义视图添加到文件夹还是将其用于集合,您可能只需要自定义视图。谢谢,但从那以后我就放弃了Plone。对于过于简单的任务来说,麻烦太多了:-/不客气。只是出于好奇:你选择了什么?自制的快速修复软件(),看看Django.:-)谢谢,听起来很有希望,我会在这个冬天仔细看看。你听说过“科蒂”吗?他们有同样的动机。不过我还没试过。
folderContents folderContents|nothing;
folderContents python:item_object.queryCatalog(**contentFilter) or
item_object.getFolderContents(contentFilter, batch=True, b_size=limit_display or 100);