MODx Revo 空变量条件不返回变量
我使用自己的 get
代码片段从 $_GET[] 获取参数:
if ($set) {
$modx->setPlaceholder($param, $_GET[$param]);
} else {
return $_GET[$param]; }
当我使用 [[!get? ¶m='mode' &set='1']]
设置 [[+mode]]
变量下一个示例适用于非空 &mode< /code> 参数:
[[+mode:eq=``:then=`[[*content]]`]]
但适用于:
[[+mode:eq=``:then=`something else`]]
任何想法如何可能以及如何避免这种情况?
I use my own get
snippet to get parameters from $_GET[]:
if ($set) {
$modx->setPlaceholder($param, $_GET[$param]);
} else {
return $_GET[$param]; }
When I use [[!get? ¶m='mode' &set='1']]
to set [[+mode]]
variable next sample is working for non empty &mode
parameter:
[[+mode:eq=``:then=`[[*content]]`]]
But works for:
[[+mode:eq=``:then=`something else`]]
Any ideas how it is possible and how to avoid this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
$set 变量现在是“1”,您可以尝试使用 (bool) 对 $set 进行类型转换,以便“1”变为 TRUE 吗?
您还可以检查代码片段内的 $param 是否为空,并为其分配一个值,以便您可以在不检查空值的情况下检查它。
The $set variable is now '1', could you try to typecast the $set with (bool) so '1' turns into TRUE?
You could also check the $param if it is empty inside the snippet and assign a value to it so you can check it without checking for empty value.
我不明白你到底在问什么,但在 MODX 片段语法中,你应该注意始终使用反引号 (`) 而不是撇号 (')。
同样在这种情况下,输出取决于 $_GET 传递的参数,您应该确保您的代码片段始终被称为未缓存,并且可能还有您的占位符:
I didn't understand exactly what you were asking, but in MODX snippet syntax you should take care to always use backticks (`) instead of apostrophes (').
Also in this situation where the output depends on a parameter passed by $_GET, you should ensure your snippet is always called uncached, and possibly your placeholder too: