浅谈Plone中导航树生成模块 浅谈Plone中导航树生成模块 http://www.315ok.org/blogfolder/1023 http://www.315ok.org/logo.png 浅谈Plone中导航树生成模块 浅谈Plone中导航树生成模块 文本 浅谈Plone中导航树生成模块 导航树相关的模块有以下几个: plone.app.layout 定义基本的navtree 导航策略,并提供建立导航树的函数 buildFolderTree( (context, obj=None, query={}, strategy=NavtreeStrategyBase()) 上面参数context为上下文提供获取的入口,obj 为当前被浏览的对象,query为查询策略,可以通过adapter覆盖,strategy 为导航树生成策略,同样可以通过adapter覆盖 。buildFolderTree 的构建思路是这样的:先通过query 策略生成的查询获得构成导航树的备选对象;接下来,根据每个对象的的路径,定位其直接父亲,找到父亲后,由导航树生成策略来加工。该加工主要完成两件事情,第一,设置过滤条件,看是否能加入导航树,第二,追加一些补充信息到该备选对象以生成最终的导航树结点newNode对象。通过导航树生成策略处理后,newNode对象被加入到支持父亲对象的children列表当中。最后将newNode插入到这个itemPaths字典当中。 plone.app.portlets 建立导航面板 Products.CMFPlone 提供基本的sitemap 建立策略,这个策略以plone.app.layout中的导航基本策略为基类。 设置 内容目录 否