我想在xPDO SQL查询中使用Login插件中的占位符,例如:
$userid = [[+id]];
$sql = "SELECT * FROM `table` WHERE `id` = $userid";
$modx->query($sql);
但是,如果我回复$userid
var,我只得到Array
。
有人知道将ModX占位符转换为PHP var的正确方法吗?
答案 0 :(得分:1)
MeltingDog,
$ modx-> toPlaceholder()是唯一使用$ modx-> getPlaceholder()的函数,仅用于搜索$ modx-> toPlaceholder()和$ modx-> toPlaceholders创建的占位符数组()通过PHP片段和类调用。
您想要做的事情在Login documentation中通过$ hook变量进行了描述。
用户可通过以下方式使用登录: $ userObject = $ hook-> getValue('register.user'); 要么 $ userObject = $ hook-> getValue('updateprofile.user');
在这两种情况下,代码都将完成:
$ userid = $ user-> getPrimaryKey();
或
$ userid = $ user-> id;
或
$ userid = $ user-> get('id');
答案 1 :(得分:0)
我找到了它:
$userid = $modx->getPlaceholder('id');