Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Plone文件夹视图中列出子文件夹的内容_Plone - Fatal编程技术网

在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);