Plone:如何使用另一个列表作为基本顺序对navtree portlet进行排序?

时间:2010-09-08 09:07:24

标签: sorting plone

我在plone网站上有一个navtree,已经使用了这个配置:

navigation = mapping['navigation']
navigation.includeTop = True
navigation.currentFolderOnly = False
navigation.topLevel = 0
navigation.setProperty('metaTypesNotToList', ['ATBooleanCriterion', ...(another types go here) ..., MemberDataContainer'])
navigation.setProperty('idsNotToList',['Members', 'events'])

这导致一个NavTree portlet列出了这个链接:(信息into()是元素的id,我们在不希望navtree显示的时候使用的那些,然后放在{{1 idsNotToList)下的变量

  • 主页(我认为这个ID是/ root,但有人在这里帮助我告诉我该选项产生的确切ID是什么:navtree_properties
  • 帮助(/ help)
  • 搜索参考书目(/ searchbibliography)
  • 统计(/统计)

现在我想要的是使用另一个列表(来自ids)将此navtree排序为模式:

navigation.includeTop=True

以便NavTree订单完全按照给定的列表顺序显示,显示如下链接:

  • 主页
  • 搜索参考书目
  • 帮助
  • 统计

我们看到这里没有字母顺序。确切地说是一个特定的订单。

那么,我该怎么做呢?

1 个答案:

答案 0 :(得分:3)

解决: 根页面的标识为front-page
我可以通过安装产品来解决这个问题:

def install(portal):
    portal = getToolByName(portal, 'portal_url')
    portal = portal.getPortalObject()

    portal.moveObjectsToTop(['front-page', 'searchbibliography', 'help', 'statistics'])
    portal.plone_utils.reindexOnReorder(portal)

订购我门户网站的folder_contents会自动订购导航portlet(使用门户网站文件夹的相同顺序(即folder_contents))。