Can’t Save Role for Custom Module with ACL in Magento2

aclcustomuser-roles

The custom module menu shows under Role Resources. Under Role Resources I click the check-box and save. I then reload the role and the check-box is no longer checked. I basically copied the menu items to the ACL XML element. Why is this happening?

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>

Best Answer

This is syntax how to create the Menu in Magento Admin Panel you can follow this

/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>

Related Topic