在具有结构
的Plone网站上root
+-topic1
| +-page1
| +-page2
|
+-topic2
+-page3
+-page4
我希望有一个文件夹root
的视图,其中列出了子文件夹的内容,例如:
[http://host/plone/root/]
TOPIC1
- page1
- page2
TOPIC2
- page3
- page4
以“TOPIC1”和“TOPIC2”作为标题,“page1”等链接到实际页面。
仅使用聚合topic1和topic2文件夹中的页面的集合是不够的,因为它不会生成子标题。
我已经在Plone产品库以及网络上搜索了一个提供此类视图的扩展,但没有成功。有消息称这可以通过自定义显示视图来完成,但由于我是Plone的新手,我不愿意深入研究这些。
是否有Plone产品/扩展程序可以提供子文件夹内容的这种视图?
或者是否有我不知道的内置解决方案?
答案 0 :(得分:3)
我明白了。
基本上,您要做的是扩展folder_summary_view
模板以包含文件夹和集合项的内容列表。
创建副本。在ZMI中,转到portal_skins/plone_content/folder_summary_view
并点击自定义。转到portal_skins/custom/folder_summary_view
的副本并将其重命名为(例如)list_contents
。
将其作为文件夹视图激活。转到portal_types/Folder
并手动将list_contents
添加到可用视图方法中的列表中。< / p>
确保视图仅显示文件夹和馆藏。在<tal:general_check condition="python: item_type in ('Folder', 'Topic')"> GENERATE ENTRY </tal:general_check>
添加用于列出商品内容的代码。您可以从portal_skins/plone_content/folder_listing
窃取它,因为这已经完成了所需的操作。复制<metal:listingmacro> ... <metal:listingmacro>
部分,但用此行替换folderContents
中的<tal:foldercontents>
定义以检索内容:
folderContents folderContents|nothing;
folderContents python:item_object.queryCatalog(**contentFilter) or
item_object.getFolderContents(contentFilter, batch=True, b_size=limit_display or 100);
(全部在一行)
注意:item_object
是外部列表中项目的名称。
如果您现在激活list_contents
作为文件夹视图,它的工作方式完全符合问题的要求。
警告:这是一个适用于我的Plone新手的复制粘贴黑客攻击。使用风险自负。
答案 1 :(得分:2)
您也可以通过Plone-UI实现这一目标:
安装Products.ContentWellPortlets并将内容下面的两个集合portlet分配给门户网站的default-view-item(默认为f.e.'front-page')。
答案 2 :(得分:0)
您可以在此处使用Collection,并将两个路径配置为条件。 如果您愿意,可以将此集合用作“root”的默认视图。查看位于其中的默认“新闻”和“事件”文件夹和集合。
http://plone.org/documentation/manual/plone-4-user-manual/using-collections/adding-collections