自定义模块菜单在角色资源下显示。在角色资源下,我单击复选框并保存。然后,我重新加载角色,并且不再检查Check-Box。我基本上将菜单项复制到ACL XML元素。为什么会发生这种情况?

config.xml

<?xml version="1.0"?>
<config>
...
    <adminhtml>
        <menu>
            <customModuleHeader translate="title" module="custommodule">
                <title>customModule</title>
                <sort_order>60</sort_order>
                <children>
                    <custommodule_configform translate="title" module="custommodule">
                        <title>custommodule Configuration</title>
                        <sort_order>50</sort_order>
                        <children>
                            <custommodule_configform translate="title" module="custommodule">
                                <title>Settings</title>
                                <action>custommodule/adminhtml_configuration</action>
                                <sort_order>10</sort_order>
                            </custommodule_configform>
                        </children>
                    </custommodule_configform>
                </children>
            </customModuleHeader>
        </menu>
        <layout>
...

Admin.html

<?xml version="1.0"?>
<config>
    <acl>
        <resources>
            <admin>
                <children>
                    <customModuleHeader translate="title" module="custommodule">
                        <title>customModule</title>
                        <sort_order>60</sort_order>
                        <children>
                            <custommodule_configform translate="title" module="custommodule">
                                <title>custommodule Configuration</title>
                                <sort_order>50</sort_order>
                                <children>
                                    <custommodule_configform translate="title" module="custommodule">
                                        <title>Settings</title>
                                        <sort_order>10</sort_order>
                                    </custommodule_configform>
                                </children>
                            </custommodule_configform>
                        </children>
                    </customModuleHeader>
                </children>
            </admin>
        </resources>
    </acl>
</config>
有帮助吗?

解决方案

这是语法如何在Magento Admin面板中创建菜单您可以遵循此信息

/app/code/local///etc/adminhtml.xml

<?xml version="1.0"?>
<config>
<menu>
    <[module] module="[module]">
        <title>[Module]</title>
        <sort_order>71</sort_order>               
        <children>
            <items module="[module]">
                <title>Manage Items</title>
                <sort_order>0</sort_order>
                <action>[module]/adminhtml_[module]</action>
            </items>
        </children>
    </[module]>
</menu>
<acl>
    <resources>
        <all>
            <title>Allow Everything</title>
        </all>
        <admin>
            <children>
                <[module]>
                    <title>[Module] Module</title>
                    <sort_order>200</sort_order>
                </[module]>
            </children>
        </admin>
    </resources>   
</acl>
<layout>
    <updates>
        <[module]>
            <file>[module].xml</file>
        </[module]>
    </updates>
</layout>

其他提示

由于菜单部分标签与ACL标签不同,因此发生这种情况。我检查了您提供的代码片段。但是没有任何错误。我建议您彻底检查这两个部分(菜单声明和ACL)。

(同时,请确保您的问题中未定义ACL admin.html)

您可以将菜单声明和ACL放在其中 adminhtml.xml

以下是您可以遵循的示例代码。

<?xml version="1.0" ?>
<config>
    <menu>
        <mycustom_menu translate="title" module="YOUR_MODULE_NAME">
            <title>My Menu</title>
            <sort_order>100</sort_order>
            <children>
                <!-- children -->
                <subitem translate="title" module="YOUR_MODULE_NAME">
                    <title>Subitem</title>
                    <sort_order>10</sort_order>
                    <action>adminhtml/mycustom_controller/</action>
                </subitem>
            </children>
        </mycustom_menu>
    </menu>
    <acl>
        <resources>
            <admin>
                <children>
                    <mycustom_menu translate="title" module="YOUR_MODULE_NAME">
                        <title>My Menu</title>
                        <sort_order>300</sort_order>
                        <children>
                            <!-- children -->
                            <subitem translate="title" module="YOUR_MODULE_NAME">
                                <title>Subitem</title>
                                <sort_order>10</sort_order>
                            </subitem>
                        </children>
                    </mycustom_menu>
                </children>
            </admin>
        </resources>
    </acl>
</config>
许可以下: CC-BY-SA归因
scroll top