【问题标题】:MODx Wayfinder &level=2 exclude ALL but oneMODx Wayfinder &level=2 排除除一个以外的所有
【发布时间】:2016-08-20 13:25:24
【问题描述】:

我正在尝试编写一个 Wayfinder 调用级别 2,它排除了除一个 2 级文档 (id=39) 之外的所有 2 级文档(因此必须包含所有 1 级文档)。如何实现?

[[Wayfinder? &startId=`0` &level=`2` excludeDocs=`3,4,5,6,7,8,9` &outerTpl=`menu`]]

我能想出的最好办法是列出所有要排除的 2 级文档,这不是很简洁的解决方案。也尝试使用 PHx 但没有成功。

【问题讨论】:

    标签: modx modx-revolution modx-evolution wayfinder


    【解决方案1】:

    我能看到的唯一其他方法是进行 2 个寻路器调用,一个用于顶级,一个用于 2 级并使用 &includeDocs。

    结构:

    -Resource 1
    -Resource 2
        -Resource 3
        -Resource 4
    -Resource 5
        -Resource 39 (just inc this resource)
    -Resource 7
    

    1 级:

    [[Wayfinder?
    &startId=`0`
    &level=`1`
    &outerTpl=`menu`]]
    

    二级:

    [[Wayfinder?
    &startId=`2,5`
    &level=`1`
    &includeDocs=`39`
    &outerTpl=`menu`]]
    

    【讨论】:

    • 我可以在 1 个模板中有两个 WF 调用吗?如果是这样,那么这是一个很好的解决方案。谢谢。
    • 是的,你喜欢多少就多少。如果这对您有用,请标记为已回答谢谢
    【解决方案2】:

    您可以通过给它一个特定的模板并使用“where”参数来包含单个二级资源:

    [[Wayfinder? &startId=`0` &level=`2` &where=`{"template:IN":[1,2,3]}` &outerTpl=`menu`]]
    

    您还必须为要包含的其他资源添加模板 ID。

    【讨论】:

    • 如果我没有该资源的特定模板?我正在寻找更有效的解决方案。
    【解决方案3】:

    要从 Wayfinder(或 getResources)中排除整个目录的内容并保持在自动菜单构建意图的自然边界内,请考虑使用 Weblink 资源作为您希望隐藏其子级的父目录的代理,然后简单地从菜单中隐藏实际的父目录。

    1. 将要隐藏其子级的父目录标记为 “从菜单中隐藏”
    2. 创建一个指向该父目录的 Web 链接资源,并将其显示为返回该目录的代理

    实际的父目录保持整洁。其中的所有子项(甚至是新的子项)仍然井井有条且整洁,“代理”网络链接可作为您在菜单中任意呈现的方式。

    【讨论】:

      猜你喜欢
      • 2017-12-24
      • 1970-01-01
      • 2023-03-19
      • 2019-08-11
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多