2013-07-24 30 views
0

我需要在Magento中以编程方式分配用户角色给管理员用户。我怎么能够?我尝试了一些方法,如,如何将角色分配给管理员用户以编程方式在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的admin用户被删除,并且我无法在那里访问后端,即使我再次重新创建它!

任何人都可以指出一个解决方案吗?

回答

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是应该附加角色的用户的标识。

相关问题