cck隐藏字段,填充编辑用户


cck hidden field, fill editing user

我有一个cck自定义类型,它是由人员创建的,字段是填充的。然后其他人编辑这些节点并添加更多数据。我想将编辑内容的用户的用户名保存到一个隐藏字段中。

我知道我可以用这个得到用户:

global $user;
$a = $user->name;
return array(
  0 => array('value' => $a)
);

我已经将其作为隐藏字段的默认代码,但该字段现在填充了节点的创建者,然后没有用编辑器替换。我该如何解决我的问题?

我对你的问题进行了研究,这里有一个解决方案!!!

创建一个自定义模块并使用以下代码。

//Implementation of hook_nodeapi()
function hook_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  switch($op) {
    case 'presave':
        if($node->type == "Your content type name")
        {
          global $user;
          //In my case
          //$node->field_username[0]['value'] = $user->name;
          //In your case it will be like
          $node->hidden_field_name[0]['value'] = $user->name;
        }
      break;
  }    
}

当您自己测试编辑节点时,字段是否包含您自己的用户名或原始作者?

另一种解决方案是form_alter特定的节点编辑表单,在node_save中,用用户名填充隐藏字段。