如何在Magento admin config acl中添加第二级?

时间:2013-10-19 16:52:46

标签: magento

我需要这个用于我正在处理的自定义模块。因此,例如,我有主模块在配置菜单中创建选项卡:

<config>
    <acl>
        <resources>
            <admin>
                <children>
                    <system>
                        <children>
                            <config>
                                <children>
                                    <mymodule translate="title" module="mymodule_all">
                                        <title>My Module</title>
                                    </mymodule>
                                </children>
                            </config>
                        </children>
                    </system>
                </children>
            </admin>
        </resources>
    </acl>
</config>

然后我有mu子模块属于这个标签:

<config>
    <acl>
        <resources>
            <admin>
                <children>
                    <system>
                        <children>
                            <config>
                                <children>
                                    <mymodule>
                                        <children>
                                            <submodule translate="title" module="submodule">
                                                <title>Sub Module</title>
                                            </submodule>
                                        </children>
                                    </mymodule>
                                </children>
                            </config>
                        </children>
                    </system>
                </children>
            </admin>
        </resources>
    </acl>
</config>

因此,使用上面的示例配置 - 子模块在角色资源配置中不可见。

从子模块中删除acl有点帮助,它变得可见,但它现在与mymodule处于同一级别,这不是我想要的。

Magento在配置部分只允许一个级别的acl吗?或者也许我做错了什么?

感谢。

1 个答案:

答案 0 :(得分:0)

是的,你可以在acl中拥有任意数量的级别。您的代码似乎没有任何错误。 因此,错误可能来自config.xml中的其他位置,只需确保每个标记都已正确关闭。 然后按照以下步骤操作

1.尝试删除标签中的标题和模块属性。 bcz这些构建了对Helper类的依赖。

2.然后以这种方式编辑第一个config.xml

<mymodule>
    <title>My Module</title>
    <children>    
        <submodule>
            <title>Sub Module</title>
        </submodule>
    <children>
</mymodule>

如果你能看到正确的acl资源树,那么这就意味着我的模块没有任何问题。因为任何错误,请专注于你的子模块。