我已经创建了一个自定义模块,我的config.xml如下…
<?xml version="1.0"?>
<config>
<admin>
<routers>
<blacklist>
<use>admin</use>
<args>
<module>Leon_Blacklist</module>
<frontName>blacklist</frontName>
</args>
</blacklist>
</routers>
</admin>
<adminhtml>
<menu>
<blacklist translate="title" module="blacklist">
<title>Blacklist</title>
<sort_order>71</sort_order>
<children>
<items translate="title" module="blacklist">
<title>Manage Items</title>
<sort_order>0</sort_order>
<action>blacklist/adminhtml_blacklist</action>
</items>
</children>
</blacklist>
</menu>
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<Leon_Blacklist translate="title" module="blacklist">
<title>Blacklist Module</title>
<sort_order>10</sort_order>
<children>
<items translate="title" module="blacklist">
<title>Manage Items</title>
</items>
</children>
</Leon_Blacklist>
</children>
</admin>
</resources>
</acl>
<layout>
<updates>
<blacklist>
<file>blacklist.xml</file>
</blacklist>
</updates>
</layout>
</adminhtml>
<config>
如果管理员帐户登录,则模块按预期工作。我可以在管理面板和角色资源选项卡(系统->权限->角色)中看到模块,但是当我试图检查模块并保存用户角色时,它会说它已被保存。但是当我重新检查用户角色时,它仍然是未检查的。
当我尝试使用具有上述用户角色的帐户登录时,自定义模块被隐藏。有什么问题吗?任何形式的帮助都是非常感激的。
谢谢。
您的acl部分配置有点错误。标签应该类似于菜单部分。在你的例子中应该是这样的:
<acl>
<resources>
<admin>
<children>
<blacklist translate="title" module="blacklist">
<title>Blacklist Module</title>
<sort_order>10</sort_order>
<children>
<items translate="title" module="blacklist">
<title>Manage Items</title>
</items>
</children>
</blacklist>
</children>
</admin>
</resources>
</acl>
这是config.xml的acl部分
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<banner translate="title" module="banner">
<title>Banner Module</title>
<sort_order>10</sort_order>
<children>
<banner translate="title" module="banner">
<title>Manage Banners</title>
</banner>
</children>
</banner>
</children>
</admin>
</resources>
</acl>
还可以在控制器中添加以下功能,以避免出现"Access denied"消息
protected function _isAllowed(){
return true;
}
代码取自:http://chandreshrana.blogspot.in/2015/06/custom-module-role-not-save-in.html