0

我是 WayFinder 的新手,但我一直在使用它,它对我来说效果很好,但是我需要一些更动态的东西,我不知道该怎么做。

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

我需要寻路器来检测当前 ID 是什么,然后显示相应的菜单

我已经尝试了几件事,但我无法开始工作:

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

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

我也尝试过 &idIs=28和其他一些变体,但真的找不到任何可以帮助我解决这个问题的方法还有其他人有任何想法如何使这项工作吗?谢谢你。

4

4 回答 4

3

使用排版建议的解决方案,每次都会调用 wayfinder,从而导致您的站点出现不必要的加载时间。这会更快,因为只有在 id = 28 时才会调用 wayfinder。

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

在此处阅读更多信息:http: //modx.com/blog/2012/09/14/tags-as-the-result-or-how-conditionals-are-like-mosquitoes/

于 2013-08-23T16:56:51.557 回答
1

您可以将输出过滤器用于条件调用。他们的文档在这里

您的代码看起来像这样:

[[*id:is=`28`:then=`[[Wayfinder? &startId=27&excludeDocs=28,29,30,31,32,33,89]]`:else=``]]
于 2013-08-23T16:16:33.257 回答
0

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

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

希望这可以帮助!

于 2013-08-23T16:06:47.897 回答
0

这应该有效。主题只是您要与之比较的参数,因此它不应包含该值。

[[!If?
   &subject=`[[*id]]`
   &operator=`EQ`
   &operand=`28`
   &then=`[[Wayfinder? &startId=`27` &excludeDocs=`28,29,30,31,32,33,89`]]`
]]
于 2013-08-23T16:11:18.377 回答