0

嗨,有人可以帮我提供此语句的正确代码,因为它对我不起作用。

[[*id:isnot=`250` and isnot=`252`:then=`[[$qc-wrap]]`]]
4

3 回答 3

1

您使用了错误的语法,请修复如下:

[[*id:isnot='250':and:isnot='252':then='[[$qc-wrap]]']]

不要忘记在此示例中将 ' 替换为 `

于 2020-07-30T09:48:07.977 回答
1

更高效的语法是:

[[[[*id:isnot=`250`:or:isnot=`252`:then=`$qc-wrap`:else=``]]]]

我认为在这里使用or而不是and合适的。

这篇文章非常适合理解 MODX 条件:

https://separiver.com/modx/modx-output-filters-if-phx-conditional-statements-tutorial/

这个是为了理解上面的语法以及为什么它更高效:

https://modx.com/blog/2012/09/14/tags-as-the-result-or-how-conditionals-are-like-mosquitoes/

于 2020-07-30T14:55:34.657 回答
1

这个问题的一个更简单的解决方案是使用:inarray输出修饰符返回一个空字符串,并使用:default输出修饰符为不匹配 250 或 252 的所有内容自定义输出:

[[*id:inarray=`250,252`:then=``:default=`[[$qc-wrap]]`]]
于 2021-02-05T20:16:20.003 回答