0

我有一个 SQL 查询,它会吐出一组 ID。我将这些 ID 提供给 getResources 调用,如下所示:

         [[getResources?
                &parents=`4`
                &resources=`' . $ids . '`
                &limit=`0`
                &showHidden=`1`
                &tpl=`PropItemTPL`
                &sortby=`menuindex ASC, id`
                &sortdir=`ASC`
                &includeContent=`1`
                &includeTVs=`1`
                &processTVs=`1`
                &showUnpublished=`0`
           ]]

问题是这会显示所有 ID,即使它们未发布。

我已经包括在内&showUnpublished='0',但这没有什么区别。

有谁知道是否有办法使用 getResources 进行这项工作?还是我需要重新编写我的 PHP 和 MySQL?

4

2 回答 2

0

您可以添加“where”子句作为参数之一,将结果集缩小到仅发布的文档:

[[getResources?
                &parents=`4`
                &resources=`' . $ids . '`
                &limit=`0`
                &showHidden=`1`
                &tpl=`PropItemTPL`
                &sortby=`menuindex ASC, id`
                &sortdir=`ASC`
                &includeContent=`1`
                &includeTVs=`1`
                &processTVs=`1`
                &where=`{"published" : true}`
           ]]
于 2016-09-20T09:25:48.130 回答
0

资源参数与其余的选择逻辑是分开的。如果您在资源属性中包含资源的 id,则无论任何其他选择属性如何,都将包含它。

试试pdoResources,我认为你不会遇到这个问题。它也比 getResources 快得多。

于 2016-11-03T22:47:29.503 回答