我有一个由人创建的cck自定义类型,并填充了字段。 然后其他人编辑这些节点并添加更多数据。我想将编辑内容的用户的用户名保存到隐藏字段中。
我知道我可以通过这个获得用户:
global $user;
$a = $user->name;
return array(
0 => array('value' => $a)
);
我已将此作为隐藏字段的默认代码,但现在该字段已填充节点的创建者,然后不会被编辑器替换。 我怎样才能解决我的问题?
答案 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;
}
}