0

我需要在 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 的管理员用户被删除,之后我无法访问那里的后端,即使我再次重新创建它!

谁能指出解决方案?

4

1 回答 1

0

奇怪的!但最终从这里得到了解决方案。

像这样尝试捕获,

         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。

于 2013-07-24T07:28:27.153 回答