2

我创建了一个自定义模块,我的 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>

如果管理员帐户已登录,该模块将按预期工作。我可以在管理面板和角色资源选项卡(系统->权限->角色)中看到该模块,但是当我尝试检查模块并保存用户时角色,它会说它已被保存。但是当我重新检查用户角色时,它仍然没有被选中。

当我尝试使用具有上述用户角色的帐户登录时,自定义模块被隐藏。似乎是什么问题?任何形式的帮助都非常感谢..

谢谢。

4

2 回答 2

5

您的 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>
于 2013-05-02T13:19:08.417 回答
0

这是我的 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>

还要在您的控制器中添加以下功能以避免“访问被拒绝”消息

protected function _isAllowed(){
        return true;
}

代码取自:http ://chandreshrana.blogspot.in/2015/06/custom-module-role-not-save-in.html

于 2016-06-24T13:58:29.547 回答