我需要这个来用于我正在处理的自定义模块。因此,例如,我有一个在配置菜单中创建选项卡的主模块:
<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?或者也许我做错了什么?
谢谢。
是的,您可以在 ACL 中拥有任意数量的级别。您的代码中似乎没有任何问题。因此,错误可能来自配置.xml中的其他地方,只需确保每个标签都已正确关闭即可。然后按照以下步骤操作
1.尝试删除标签中的标题和模块属性。bcz 这些构建对帮助程序类的依赖关系。
2.然后编辑你的第一个配置.xml以这种方式
<mymodule>
<title>My Module</title>
<children>
<submodule>
<title>Sub Module</title>
</submodule>
<children>
</mymodule>
如果您可以看到正确的 acl 资源树,那么这意味着我的 Module.so 专注于您的子模块没有任何错误。