如何在Drupal 6中以编程方式分配角色? 'role'=> '用户名没有用

时间:2012-11-21 03:55:43

标签: php drupal drupal-roles

我有这个函数在我的Drupal 6站点中使用节点表单内的信息创建一个新用户:

function altas_create_user($name,$pass,$mail) {
  $newuser = array(
    'name' => $name,
    'mail' => $mail,
    'pass' => $pass,
    'access' => 1,
    'notify' => 1,
    'status' => 1,
  );
  return user_save(NULL, $newuser); 
}

现在,我注意到的是我没有为该用户分配角色。我该怎么办?

我尝试添加这个,但没有用:'role' => 'rolename',

我该怎么做?谢谢你的帮助!

编辑:我忘了说我已经查看了API,found可能我应该使用'roles' => $roles,但不明白如何实际填充$roles我的角色名称。

1 个答案:

答案 0 :(得分:1)

解决了! (找到答案here)并认为我会将结果发布给它,以防万一它可以帮助某人: 我应该

// Get an array of roles
$roles = user_roles();

首先(在函数内部,在$ newuser数组之前),然后,

'roles' => array(array_search('myrolename', $roles) => 1),

在那里,它就像一个魅力。