Magento 2 System Configuration for Module issue

The question:

I visited many sites for find solution of this issue.

But after creating system.xml and acl.xml Magento give me a report generated error.

Error

a:4:{i:0;s:140:”Notice: Undefined index: id in
/usr/local/ampps/www/mgn2/vendor/magento/module-config/Model/Config/Structure/Element/Iterator.php
on line 59″;i:1;s:6391:”#0
/usr/local/ampps/www/mgn2/vendor/magento/module-config/Model/Config/Structure/Element/Iterator.php(59):
MagentoFrameworkAppErrorHandler->handler(8, ‘Undefined index…’,
‘/usr/local/ampp…’, 59, Array)

Can you clarify this issues?

app/code/Pulsestorm/HelloWorldMVVM/etc/adminhtml/system.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
    <system>
        <tab id="Pulsestorm" translate="label" sortOrder="200">
            <label>Pulsestorm</label>
        </tab>
        <section id="config_helloworld" translate="label" type="text" sortOrder="110" showInDefault="1" showInWebsite="1" showInStore="1">
            <label>Pulsestorm</label>
            <tab>HelloWorldMVVM</tab>
            <resource>Pulsestorm_HelloWorldMVVM::config_helloworldmvvm</resource>
            <group id="general" translate="label" type="text" sortOrder="10" showInDefault="1" showInWebsite="0" showInStore="0">
                <label>General</label>
                <field id="enable" translate="label comment" type="select" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Enable Hello World</label>
                    <source_model>MagentoConfigModelConfigSourceYesno</source_model>
                </field>
                <field id="block_label" translate="label" type="text" sortOrder="20" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Module page title</label>
                </field>
            </group>
        </section>
    </system>
</config>

app/code/PulseStorm/HelloWorldMVVM/etc/acl.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Acl/etc/acl.xsd">
    <acl>
        <resources>
            <resource id="Magento_Backend::admin">
                <resource id="Magento_Backend::stores">
                    <resource id="Magento_Backend::stores_settings">
                        <resource id="Magento_Config::config">
                            <resource id="Pulsestorm_HelloWorldMVVM::config_helloworldmvvm" title="HelloWorldMVVM" />
                        </resource>
                    </resource>
                </resource>
            </resource>
        </resources>
    </acl>
</config>

The Solutions:

Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.

Method 1

In your system.xml replace this

<tab>HelloWorldMVVM</tab>

with this

<tab>Pulsestorm</tab>


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Comment