我使用自己的get
代码段从$ _GET []中获取参数:
if ($set) {
$modx->setPlaceholder($param, $_GET[$param]);
} else {
return $_GET[$param]; }
当我使用[[!get? ¶m='mode' &set='1']]
设置[[+mode]]
变量时,下一个样本适用于非空&mode
参数:
[[+mode:eq=``:then=`[[*content]]`]]
但适用于:
[[+mode:eq=``:then=`something else`]]
任何想法如何可能以及如何避免这种情况?
答案 0 :(得分:0)
$ set变量现在为'1',您是否可以尝试使用(bool)对$ set进行类型转换,以便'1'变为TRUE?
如果$ param在代码段内是空的,你也可以检查$ param并为其分配一个值,这样你就可以检查它而不检查空值。
答案 1 :(得分:0)
我并不完全理解你的要求,但在MODX片段语法中你应该注意始终使用反引号(`)而不是撇号(')。
此外,在输出取决于$ _GET传递的参数的情况下,您应该确保您的代码段始终被称为未缓存,也可能是您的占位符:
[[!get? ¶m=`mode` &set=`1`]]
[[!+mode:eq=``:then=`[[*content]]`]]