1

我在一个 plone 站点上有一个导航树,已经使用了这个配置:

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,其中列出了这些链接:(进入 () 的信息是元素的 id,当我们不想显示 navtree 时使用的那些,然后放在idsNotToList变量下navtree_properties

  • Home(我认为这个 id 是 /root ,但有人在这里帮我告诉我该选项产生的确切 id 是什么navigation.includeTop=True:)
  • 帮助(/帮助)
  • 搜索参考书目 (/searchbibliography)
  • 统计(/统计)

现在我想要的是使用另一个列表(来自 ids)作为模式对这个导航树进行排序:

['root', 'searchbibliography', 'help', 'statistics']

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

  • 搜索参考书目
  • 帮助
  • 统计数据

我们看到这里没有字母顺序。确实有一个特定的顺序。

那么,我该怎么做呢?

4

1 回答 1

3

已解决:根页面的ID是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))。

于 2010-09-08T21:29:23.400 回答