我需要在Magento中以编程方式为管理员用户分配用户角色。我怎么能够?我试过像
这样的方法try {
$user->setRoleIds(array(<role_id>))
->setRoleUserId($user->getUserId())
->saveRelations();
} catch (Exception $e) {
echo $e->getMessage();
exit;
}
但是当我们应用上面的代码时,数据库被破坏并获得错误 - "Parent Role id 'G5' does not exist"
。
这是因为,当我应用上面的代码时,具有父角色Id的管理员用户被删除,之后我无法访问后端,即使我再次重新创建它!
有人能指出解决方案吗?
答案 0 :(得分:0)
奇怪!但最终得到了here的解决方案。
尝试抓住这样的事,
try {
$role = Mage::getModel("admin/role");
$role->setParent_id(5);
$role->setTree_level(1);
$role->setRole_type('U');
$role->setUser_id($user_id);
$role->save();
echo "Your username: ".$username.", and password: ".$password;
} catch (Exception $e) {
echo $e->getMessage();
}
它工作了。这里parent Id
是我的自定义角色ID。 $user_id
是应该附加角色的用户的ID。