Magento 2.2 hides the «ADVANCED» → «System» and «ADVANCED» → «Developer» menu items in the production mode

Developer mode

Production mode

How is it implemented?

1. Magento\Config\Block\System\Config\Form::_initElement()

Details:

The ability to setup the disabled as and is_disable_inheritance properties is absent in Magento <= 2.1.3:

But even in Magento 2.1.x >= 2.1.3 the $this->getElementVisibility()->isDisabled($field->getPath()) call is absent:

2. Magento\Config\Block\System\Config\Form::getElementVisibility()

3. Magento_Config/etc/adminhtml/di.xml


4. Magento_Backend/etc/adminhtml/di.xml

5. Magento\Config\Model\Config\Structure\ElementVisibilityComposite::isDisabled()

6. Magento\Config\Model\Config\Structure\ConcealInProductionConfigList::isDisabled()