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

时间:2012-01-20 16:18:01

标签: php drupal drupal-6 cck

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

我知道我可以通过这个获得用户:

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

我已将此作为隐藏字段的默认代码,但现在该字段已填充节点的创建者,然后不会被编辑器替换。 我怎样才能解决我的问题?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我研究你的问题,这是一个解决方案享受!!!

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

//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;
  }    
}