MODx 寻路器 &level=2 排除除一个之外的所有内容



我正在尝试编写一个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资源作为父目录的代理,您希望隐藏其子目录,然后只需从菜单中隐藏实际的父目录。

  1. 标记要隐藏为其子目录的父目录"隐藏菜单"
  2. 创建一个webblink资源返回到父目录,并将其作为代理显示到该目录

实际的父目录保持整洁。其中的任何子元素(即使是新的)仍然是有组织和整洁的,并且"代理"webblink作为一种方式来表示它,无论你想在菜单中。

相关内容

  • 没有找到相关文章

最新更新