【问题标题】:How to convert ModX placeholder to PHP variable for use in xPDO query?如何将 ModX 占位符转换为 PHP 变量以用于 xPDO 查询?
【发布时间】:2014-01-31 00:31:55
【问题描述】:

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

$userid = [[+id]];

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

$modx->query($sql);

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

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

【问题讨论】:

  • 我不熟悉modx,但是var_dump($userid);给你什么?
  • @jeroen 它只是给了我 NULL
  • Ummmmmm,我还以为是数组?
  • 对不起,代表我的语法错误 - 我得到:int(15)(15 是我要的数字)

标签: php modx modx-revolution


【解决方案1】:

融化狗,

$modx->toPlaceholder() 是唯一使用 $modx->getPlaceholder() 的函数,仅用于搜索由 $modx->toPlaceholder() 和 $modx->toPlaceholders() 调用创建的占位符数组PHP sn-ps 和类。

Login documentation 通过 $hook 变量描述了您想要做的事情。

用户可以通过使用登录的方式获得: $userObject = $hook->getValue('register.user'); 或者 $userObject = $hook->getValue('updateprofile.user');

在这两种情况下,代码都会这样完成:

$userid = $user->getPrimaryKey();

$userid = $user->id;

$userid = $user->get('id');

【讨论】:

  • $userid = $user=>get('id'); 中有错字应该是 $userid = $user->get('id');
【解决方案2】:

我找到了:

$userid = $modx->getPlaceholder('id');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2010-12-12
    • 2018-02-08
    • 1970-01-01
    相关资源
    最近更新 更多