hook_comment не изменяет данные

#drupal-6 #drupal-comments

#drupal-6 #drupal-комментарии

Вопрос:

Я хочу изменить название комментария на основе имени учетной записи пользователя, чтобы использовать реальное имя пользователя (я использую поля RealName и CCK).

Это должно быть просто, однако это неправильно сохраняет мои значения.

 function mymodule_comment(amp;$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 в обоих случаях, имя будет таким, каким я хочу, чтобы оно было. Однако это не то, что сохраняется в базе данных.

Как я могу изменить значения, чтобы они действительно были вставлены?

Ответ №1:

Пожалуйста, предоставьте информацию о функции realname_get_user, или вы можете попробовать приведенный ниже фрагмент

 function mymodule_comment(amp;$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;
    }
}
  

Комментарии:

1. Пожалуйста, отформатируйте свой код соответствующим образом, нажмите на оранжевый вопросительный знак в текстовом поле вопрос или ответ для получения справки. Спасибо!