2011-06-10 67 views
1

我想從用戶帳戶名稱更改評論的名稱,以使用用戶的真實姓名(我正在使用RealName和CCK字段)。hook_comment沒有修改數據

這應該很簡單,但它不能正確保存我的值。

function mymodule_comment(&$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,名稱就是我想要的。但是,這不是保存到數據庫的內容。

如何更改值以便它們實際插入?

回答

0

請提供有關realname_get_user功能的信息,否則你可以試試下面片斷

function mymodule_comment(&$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; 
    } 
} 
+0

請相應地格式化你的代碼,點擊[橙色問號(http://i.imgur.com/GjKAG在問題或答案文本框中尋求幫助。謝謝! – Trufa 2011-06-14 18:01:01