How to add a submenu to an existing menu in Magento?

My existing code creates a menu that looks like this.

custom magento menu

But I want a menu that is a submenu in the Catalog menu.

Here is my existing code in adminhtml.xml

<?xml version="1.0" ?>
<config>
    <menu>
        <mycustom_menu translate="title" module="brands">
            <title>My Custom Menu Item</title>
            <sort_order>300</sort_order>
            <children>
                <!-- child items go here -->
                <subitem translate="title" module="brands">
                    <title>Manage Brands</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="brands">
                        <title>My Custom Menu Item</title>
                        <sort_order>300</sort_order>
                        <children>
                            <subitem translate="title" module="brands">
                                <title>Subitem</title>
                                <sort_order>10</sort_order>
                            </subitem>
                        </children>
                    </mycustom_menu>
                </children>
            </admin>
        </resources>
    </acl>
</config>
+5
source share
2 answers

Instead of using it, <mycustom_menu>you need to reuse the host name that was used in adminhtml.xmlthe directory module. This is the name catalog.

So your XML should look like this:

<?xml version="1.0"?>
<config>
    <menu>
        <catalog>
            <children>
                <your_subitem>
                    <title>Subitem 1</title>
                    <sort_order>10</sort_order>
                    <action>adminhtml/your_action</action>
                </your_subitem>
            </children>
        </catalog>
    </menu>
    <acl>
        <resources>
            <admin>
                <children>
                    <catalog>
                        <title>Subitem 1</title>
                        <sort_order>10</sort_order>
                    </catalog>
                </children>
            </admin>
        </resources>
    </acl>
</config>
+24
source

For example, to add a submenu on a client tab:

<menu>
    <customer>
        <children>
          <vendor module="yourmodule">
            <title>Your Title</title>
            <sort_order>0</sort_order>
            <action>admin_yourmodule/adminhtml_yourmoduleaction</action>
          </vendor>
        </children>
    </customer>
</menu>
0
source

All Articles