跳转到主要内容

强制目录查询遵守当前导航根的工具

项目描述

简介

此软件包为Plone添加了一个补丁,以确保调用目录查询是“基于”当前导航根(由INavigationRoot接口定义)。安装后,所有目录查询都将有一个隐含的path参数,该参数限制搜索结果仅限于当前导航根内,除非显式提供了pathUID参数。这避免了搜索结果、“小部件列表”等“泄漏”。如果存在UID参数,可以显式搜索已知内容。

在此上下文中,导航根必须是

  • 一个文件夹对象

  • 提供INavigationRoot标记接口

  • 并且是Zope 3组件架构意义上的“组件站点”

“collective.lineage”产品提供了一种创建此类用户友好的方式。

导航根将被保留为线程局部变量,就像组件站点可以通过全局getSite()函数访问一样。要获取当前遍历的导航根,您可以使用

from collective.rooter import getNavigationRoot

current_root = getNavigationRoot()

如果未遍历任何INavigationRoot,则根可能为None。

变更日志

1.0 (2015-07-15)

  • 如果在目录搜索关键字中给出了 UID,则不要应用 INavigationRoot 路径。这允许显式查询门户其他区域中的已知对象。废弃拉取请求 #1。[thet]

  • PEP 8。[thet]

1.0b1 (2009-03-29)

  • 初始发布。[optilude]

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

collective.rooter-1.0.tar.gz (10.2 kB 查看哈希值)

上传时间