重定向工具
plone.app.redirector的Python项目详细描述
简介
作者:Martin Aspeli,根据Helge Tesdal的工作 (重定向工具)和Whit Morris(顶部玫瑰色)。
让死链子复活!plone.app.redirector知道你的内容在哪里 内容移动时,过去是并可以将您带到新位置。
此组件要求您将storage.redirectionstorage注册为本地 提供iredirectionstorage的实用程序(cmfplone这样做)。一旦完成, subscribers.py中的订阅服务器将侦听移动的对象和对象 已删除事件。
移动对象(重命名或剪切/粘贴到其他位置)时, 重定向存储将记住旧路径。它足够聪明 处理可传递引用(如果我们有a->;b,然后添加b->;c, 替换为引用A->;C)和循环引用(试图 添加a->;a不执行任何操作。
当对象被删除时,对它的所有引用也将被删除。
browser.py中的视图包含方法(在plone的 当它得到一个notfound错误时,执行以下操作:
- 尝试从假定的预期路径重定向到 对象,如果重定向存储保存来自旧路径的引用。
- 如果不是,则查找假定的预期路径的第一个有效父路径,并且 将其作为选项呈现给用户
- 此外,使用假定的预期路径的最后一个id并尝试搜索 对于目录中包含此项的对象,将选项呈现给 用户