【问题标题】:ModX getResources displays child resources as well as parent level resourcesModX getResources 显示子资源以及父级资源
【发布时间】:2013-11-11 08:21:37
【问题描述】:

我有 getResources 调用:

[[!getResources? &parents=`[[*id]]` &limit=`15` &tpl=`contentsectiontpl` &sortdir=`ASC` &sortby=`menuindex` &includeContent=`1`]]

在父资源中。

我希望只显示这个父级的子资源,但上面既显示了子资源,又显示了与父级同级的资源。

有没有人知道在不直接使用父母 ID 的情况下实现只显示子资源的正确方法?

【问题讨论】:

  • 如何按模板过滤资源 - &where=`{"template:=":8}`

标签: content-management-system modx modx-revolution getresource modx-resources


【解决方案1】:

如果你真的得到了父母兄弟姐妹,你一定是指定了错误的 ID。确保您不应该使用 [[+id]] 而不是 [[*id]],以防您列出某种子菜单等。

【讨论】:

    【解决方案2】:

    为 &parents 尝试“-1”

    作为父母的 id 的逗号分隔列表。使用 -1 忽略 父母在指定要包含的资源时。如果不这样做, getResources 将 &parents 假定为当前资源并读取它 那里的孩子(加上 &resources = 意外的资源 结果)。

    虽然它不应该显示父母兄弟资源 - 我从未见过 getResources 这样做!您是直接在父级中使用调用还是以某种方式包含它?

    如果可能,您还可以隐藏父资源和/或使用 hideContainers 参数或可能的资源参数来排除特定的 [父] 资源。

    【讨论】:

      【解决方案3】:

      不要在此父资源的 Content 字段中进行此调用 - 在模板中进行。调用是正确的,一定是其他错误...

      【讨论】:

        【解决方案4】:

        您也可以指定模板,如果父子模板不同。

        例子:

        &where=`{"template:=":8}`
        
        &where=`{"template:=":1, "OR:template:=":2}`
        
        &where=`{"template:IN":[1,2,3]}`
        

        【讨论】:

          猜你喜欢
          • 2016-06-13
          • 2014-02-12
          • 1970-01-01
          • 2014-05-18
          • 2016-04-18
          • 2012-08-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多