如何告知MODX wayFinder检测其当前所在的资源ID

如何告知MODX wayFinder检测其当前所在的资源ID,modx,Modx,我对WayFinder是个新手,但我一直在使用它,它对我来说非常有用,但是我需要一些更具活力的东西,我不知道该怎么做 我在我的网站上有5个页面,每个页面都有另一个侧菜单,但所有5个资源的每个菜单都会略有不同 我需要wayfinder检测当前ID,然后显示相应的菜单 我尝试过几件事,但没有任何迹象表明我可以开始工作: [[!If?&subject=[[*28]]&then=[[Wayfinder?&startId=27&excludeDocs=28,29,30,31,32,33,89]] 所以我需

我对WayFinder是个新手,但我一直在使用它,它对我来说非常有用,但是我需要一些更具活力的东西,我不知道该怎么做

我在我的网站上有5个页面,每个页面都有另一个侧菜单,但所有5个资源的每个菜单都会略有不同

我需要wayfinder检测当前ID,然后显示相应的菜单

我尝试过几件事,但没有任何迹象表明我可以开始工作:

[[!If?&subject=
[[*28]]
&then=
[[Wayfinder?&startId=
27
&excludeDocs=
28,29,30,31,32,33,89
]
]

所以我需要说如果ID=28显示这个菜单如果ID=29显示这个菜单等等


我也尝试过&idIs=
28
和其他一些变体,但在这方面找不到任何帮助。还有人知道如何让它工作吗?谢谢。

如果菜单需要从当前ID开始,那么您可以使用 &startId=`[*id]]`

如果希望它显示当前文件夹中的所有资源,可以使用UltimateParent,因此 &startId=`[[UltimateParent]]`


希望这有帮助

如果菜单需要从当前ID开始,那么您可以使用 &startId=`[*id]]`

如果希望它显示当前文件夹中的所有资源,可以使用UltimateParent,因此 &startId=`[[UltimateParent]]`


希望这有帮助

这应该行得通。subject只是您将其与之进行比较的参数,因此它不应包含该值

[[!If?
   &subject=`[[*id]]`
   &operator=`EQ`
   &operand=`28`
   &then=`[[Wayfinder? &startId=`27` &excludeDocs=`28,29,30,31,32,33,89`]]`
]]

这应该行得通。subject只是您将其与之进行比较的参数,因此它不应包含该值

[[!If?
   &subject=`[[*id]]`
   &operator=`EQ`
   &operand=`28`
   &then=`[[Wayfinder? &startId=`27` &excludeDocs=`28,29,30,31,32,33,89`]]`
]]

您可以对条件调用使用输出筛选器。它们的文档是

您的代码将如下所示:

[[*id:is=`28`:then=`[[Wayfinder? &startId=27&excludeDocs=28,29,30,31,32,33,89]]`:else=``]]

您可以对条件调用使用输出筛选器。它们的文档是

您的代码将如下所示:

[[*id:is=`28`:then=`[[Wayfinder? &startId=27&excludeDocs=28,29,30,31,32,33,89]]`:else=``]]

使用“建议”解决方案排版,每次都会调用wayfinder,从而导致站点的加载时间不受限制。这将更快,因为仅当id=28时才会调用wayfinder

[[[[*id:is=`28`:then=`Wayfinder? &startId=27 &excludeDocs=28,29,30,31,32,33,89`:else=``]]]]

请在此处阅读更多信息:

使用“建议”解决方案排版,wayfinder每次都会被调用,从而导致站点的加载时间不受限制。这将更快,因为仅当id=28时才会调用wayfinder

[[[[*id:is=`28`:then=`Wayfinder? &startId=27 &excludeDocs=28,29,30,31,32,33,89`:else=``]]]]
请在此处阅读更多信息: