【发布时间】:2012-10-05 05:55:06
【问题描述】:
我在 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() 方法开始
【问题讨论】:
-
var/ 中的任何错误日志。使用 magento 数据库修复工具检查您的数据库。如果有任何 db 错误,请修复错误,然后清除缓存并检查。
-
查看存储资源的数据库表会发生什么?当您尝试自己以编程方式加载资源时会发生什么?
-
看起来资源已在模型级别更正加载