我们在“sales_order/view”管理部分创建了类似于“hold”、“ship”和其他操作的新操作,可以通过单击按钮来触发这些操作。之后,我们使用config.xml中的以下代码将新操作添加到ACL中:
<acl>
<resources>
<admin>
<children>
<sales>
<children>
<order>
<children>
<actions translate="title">
<title>Actions</title>
<children>
<shipNew translate="title"><title>Ship Ups</title></shipNew>
</children>
</actions>
</children>
<sort_order>10</sort_order>
</order>
</children>
</sales>
</children>
</admin>
</resources>
</acl> ACL功能是有效的,但是,在“角色资源树”(系统/权限/角色/角色资源)中,我们的新操作永远不会显示为选中(选中),即使它被允许用于特定的角色。我可以从我们新操作的资源id表'admin_rule‘中看到它是被允许的,所以它需要显示为选中,但它不是。
当我试图解决这个问题时,我查看了模板(permissions/Rolesedit.phtml),我发现“角色资源树”是在Javascript...thats的帮助下绘制的,由于我对Javascript的了解有限,我被卡住了。
为什么角色资源树不能正确显示我们的新ACL条目,即从未选中该复选框?
感谢您的帮助
土拨鼠
发布于 2010-04-11 21:53:48
我找到问题了。
显然,为了正确绘制“资源树”,acl标签的所有字母都必须是小写的。一旦我将'shipNew‘更改为'shipnew’,‘资源树’就可以在管理->系统->权限->角色->角色资源中正确绘制
正确的代码将如下所示:
<acl>
<resources>
<admin>
<children>
<sales>
<order>
<children>
<actions>
<children>
<shipnew translate="title"><title>Ship Ups</title></shipnew>
</children>
</actions>
</children>
</order>
</children>
</sales>
</children>
</admin>
</resources>
</acl> 我还删除了看起来不必要的'title','order‘标签
我希望这是有用的
https://stackoverflow.com/questions/2612003
复制相似问题