web-dev-qa-db-ja.com

インストールプロファイルに複数のユーザーロールを追加する

インストールプロファイルに同じ権限を持つ複数のロールを作成したいと思います。インストールプロファイルに1人のユーザーを追加するのは非常に簡単です。私はこのスニペットを使用します:

    // Make the new role
    $role = new stdClass;
    $role->name = 'User 1';
    $role->weight = 3;
    user_role_save($role);

    // Permissions to assign to the role.
    $perms = array(
    'access content',
    'access content overview',
    );

    // Grant the permissions. This function takes care of all necessary cache resets
    user_role_grant_permissions($role->rid, $perms);

配列を試してみましたが、うまくいきませんでした。 Drupalは配列を無視しました。

配列はうまくいきませんでした...

    // Make the new role
    $role = new stdClass;
    $roles = array('Eindredacteur 1', 'Eindredacteur 2');
    $role->name = $roles;
    $role->weight = 3;
    user_role_save($role);

    // Permissions to assign to the role.
    $perms = array(
    'access content',
    );

    // Grant the permissions. This function takes care of all necessary cache resets
    user_role_grant_permissions($role->rid, $perms);

アドバイスしてくれる人はいますか?

1
Michiel

これはうまくいくはずです:

// Make the first role
$role = new stdClass;
$role->name = 'Eindredacteur 1';
$role->weight = 3;
user_role_save($role);
$roleid_1 = $role->rid;

// Make the second role
$role = new stdClass;
$role->name = 'Eindredacteur 2';
$role->weight = 3;
user_role_save($role);
$roleid_2 = $role->rid;

// Permissions to assign to the role.
$perms = array(
'access content',
);

// Grant the permissions. This function takes care of all necessary cache resets
user_role_grant_permissions($roleid_1, $perms);    
user_role_grant_permissions($roleid_2, $perms);
2
Attiks