使用getResources tvFilters梳理AND和OR条件?

时间:2014-12-16 03:04:35

标签: modx modx-revolution modx-getresources

我正在组合一个表单和PHP来创建一种搜索。

我正在使用getResources的tvFilters来显示搜索结果,例如:

echo '[[!getResources? &parents=`[[42]]` &tpl=`NewProdTpl` &includeTVs=`1` &includeContent=`1` &limit=`99` &tvFilters=`' . $filters .'`]]';

这有点奏效。但我需要找出一种方法来使用组合的AND和OR条件,例如在SQL中,例如:

SELECT supplier_id
FROM suppliers
WHERE (name = 'IBM')
OR (name = 'Hewlett Packard' AND city = 'Atlantic City')
OR (name = 'Gateway' AND status = 'Active' AND city = 'Burma');

显然我尝试使用像:

这样的括号
$filters = '(Type==Forklift),(Brand==Iseki||Brand==Kubota)';

但我没有运气。

有人知道是否有办法实现这一目标?

1 个答案:

答案 0 :(得分:2)

我不认为tvFilters需要括号,你试过这个(首先是OR分隔符):

$filters = 'Brand==Iseki||Brand==Kubota,Type==Forklift';

您也可以尝试添加通配符:

$filters = 'Brand==%Iseki%||Brand==%Kubota%,Type==%Forklift%';