2012-01-20 38 views
0

我有一個cck自定義類型,由人員創建並填充字段。 然後有人編輯這些節點並添加更多數據。我想將編輯內容的用戶的用戶名保存到隱藏字段中。cck隱藏字段,填充編輯用戶

我知道我能得到這個用戶:

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

,我已經把這個作爲隱藏字段默認代碼,但該領域現在充滿了節點的創造者,然後是沒有被編輯替換。 我該如何解決我的問題?

回答

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

當您自己測試編輯節點時,該字段是否包含您自己的用戶名或原作者?

另一種解決方案是form_alter指定節點編輯表單,然後在node_save上用用戶名填寫隱藏字段。

相關問題