1

xczenter image description here

I want to hide my custom module menu based on configuration. If in configuration it set to "yes" then the menu should display and if set to "no" then menu should not appear at admin.

I have below code for add menu:

<menu>
 <add id="Name_Module::parent" title="title" module="Name_Module" sortOrder="51" resource="Name_Module::parent"/>
 <add id="Name_Module::shippinglocation" title="Manage title" module="Name_Module" sortOrder="40" parent="Name_Module::parent" action="controller/action" resource="Name_Module::module"/>
</menu> 

How can i achieve this?

Thanks

1

You can use dependsOnConfig="section/group/field"

Example:

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Backend:etc/menu.xsd">
    <menu>
        <add id="Vendor_Module::abcd" title="Title" module="Vendor_Module" sortOrder="100" resource="Vendor_Module::abcd" dependsOnConfig="section/group/field"/>        
    </menu>

Also for the other options too, you can check the xsd mentioned above i.e Magento_Backend:etc/menu.xsd

  • thanks, will it be work with store wise? in my code i have two lines of menu on which i need to do use "dependsOnConfig" ? – Utsav Gupta Dec 19 '18 at 12:07
  • Sorry if I am misinterpreting you but the menu is viewed inside the admin panel so how it can be store wise? Please explain the use case? you can add "dependsOnConfig" in any/all menu(s) in your menu.xml – Sarvagya Dec 19 '18 at 12:14
  • To stop module's functionality for particular store is a different thing which needs to put config check inside the logic. – Sarvagya Dec 19 '18 at 12:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.