Các tính năng là khá tiện dụng cho những thứ như thế này. Tuy nhiên, nếu bạn cần tạo vai trò và thêm quyền theo chương trình, bạn không phải tự mình đi tìm cơ sở dữ liệu.
Khi bạn tạo một vai trò người dùng mới user_role_save()
, nó sẽ cập nhật đối tượng bạn đã truyền với id vai trò người dùng mới được gán. Bạn có thể thấy một ví dụ về điều này trong standard_install()
chức năng trong hồ sơ cài đặt Tiêu chuẩn.
$admin_role = new stdClass();
$admin_role->name = 'administrator';
...
user_role_save($admin_role);
user_role_grant_permissions($admin_role->rid, array_keys(module_invoke_all('permission')));
Ví dụ này cho thấy rằng bạn có thể tạo một vai trò người dùng mới, sau đó truy cập vào thuộc tính của nó rid
, được điền vào bởi user_role_save()
. Nó cũng chỉ ra cách thêm quyền vào vai trò đó với user_role_grant_permissions()
. Trong trường hợp này, nó cấp cho vai trò 'quản trị viên' tất cả các quyền có sẵn.
Nếu bạn cần lấy id của vai trò người dùng được tạo bởi người khác, bạn có thể sử dụng user_role_load_by_name()
để lấy đối tượng cho vai trò người dùng đó. Sau đó, bạn chỉ cần lấy id với $role->rid
.