1

我想将评论的名称从用户帐户名更改为使用用户的真实姓名(我正在使用 RealName 和 CCK 字段)。

这应该很简单,但是它没有正确保存我的值。

function mymodule_comment(&$a1, $op) {
    switch ($op) {
        case 'insert':
        case 'update':
            $realname = realname_get_user($a1['uid']);

            if ($realname) {
                $a1['name'] = $realname->name;
            }

            break;
        case 'view':
            $realname = realname_get_user($a1->uid);

            if ($realname) {
                $a1->name = $realname->name;
            }
            break;
    }
}

如果我在这两种情况下都转储 a1,那么名称就是我想要的名称。但是,这不是保存到数据库中的内容。

如何更改值以便实际插入它们?

4

1 回答 1

0

请提供有关 realname_get_user 函数的信息,否则您可以尝试以下代码段

function mymodule_comment(&$a1, $op) {
    global $user;
    switch ($op) {
        case 'insert':
        case 'update':
            $realname = $user->name;

            if ($realname) {
                $a1['name'] = $realname;
            }

            break;
        case 'view':
            $realname = $user->name;

            if ($realname) {
                $a1->name = $realname;
            }
            break;
    }
}
于 2011-06-14T05:40:58.740 回答