如何将ModX占位符转换为PHP变量以在xPDO查询中使用?

时间:2014-01-31 00:31:56

标签: php modx modx-revolution

我想在xPDO SQL查询中使用Login插件中的占位符,例如:

$userid = [[+id]];

$sql = "SELECT * FROM `table` WHERE `id` = $userid";

$modx->query($sql);

但是,如果我回复$userid var,我只得到Array

有人知道将ModX占位符转换为PHP var的正确方法吗?

2 个答案:

答案 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');