我正在尝试编写一个Wayfinder调用2级,排除所有2级文档,除了一个2级文档(id=39)(所以所有1级文档必须包括在内)。如何做到这一点?
[[Wayfinder? &startId=`0` &level=`2` excludeDocs=`3,4,5,6,7,8,9` &outerTpl=`menu`]]
我能想到的最好办法是列出所有要排除的2级文档,这不是一个很简洁的解决方案。
我能看到的唯一其他方法是有两个寻路器调用,一个用于顶层,一个用于二级,并使用&includeDocs.
结构:
-Resource 1
-Resource 2
-Resource 3
-Resource 4
-Resource 5
-Resource 39 (just inc this resource)
-Resource 7
一级:
[[Wayfinder?
&startId=`0`
&level=`1`
&outerTpl=`menu`]]
水平二:
[[Wayfinder?
&startId=`2,5`
&level=`1`
&includeDocs=`39`
&outerTpl=`menu`]]
您可以通过给它一个特定的模板并使用'where'参数来包含单个二级资源:
[[Wayfinder? &startId=`0` &level=`2` &where=`{"template:IN":[1,2,3]}` &outerTpl=`menu`]]
您必须为您想要包含的其他资源添加模板id。
要从Wayfinder(或getResources)中排除整个目录的内容,并保持在自动菜单构建意图的自然边界内,请考虑使用webblink资源作为父目录的代理,您希望隐藏其子目录,然后只需从菜单中隐藏实际的父目录。
- 标记要隐藏为其子目录的父目录"隐藏菜单"
- 创建一个webblink资源返回到父目录,并将其作为代理显示到该目录
实际的父目录保持整洁。其中的任何子元素(即使是新的)仍然是有组织和整洁的,并且"代理"webblink作为一种方式来表示它,无论你想在菜单中。