我在 magento 1.5.1 上遇到了这个问题:
资源角色树为空(网络服务和权限)
要找出我遇到的错误:
- 禁用所有扩展(将 xml 文件从 /etc/modules/ 移开),但这不是修复。
- 与原始核心文件进行比较。(文件相同)
所以问题应该在某个数据库级别。
我找到了这个旧的讨论,但它对我没有帮助:http: //www.magentocommerce.com/boards/viewthread/21449/
更新:
我发现空树是由这些代码行引起的:
文件:/app/code/core/Mage/Adminhtml/Block/Permissions/Tab/Rolesedit.php
$rootArray = $this->_getNodeJson($resources->admin, 1);
$json = Mage::helper('core')->jsonEncode(isset($rootArray['children']) ? $rootArray['children'] : array());
$json 为空,而 $rootArray 看起来正确填充(它包含一个 ['children'] 节点)所以问题从 jsonEncode() 方法开始