我需要这个用于我正在处理的自定义模块。因此,例如,我有主模块在配置菜单中创建选项卡:
<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吗?或者也许我做错了什么?
感谢。
答案 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资源树,那么这就意味着我的模块没有任何问题。因为任何错误,请专注于你的子模块。