cancel
Showing results for 
Search instead for 
Did you mean: 

Admin tab for new module is not showing

SOLVED

Admin tab for new module is not showing

Hi

I am trying to built a custom module for Magento 2.2.5 and despite following countless guides to get it working, I cannot get it to show the admin configuration page tab that I have added.

This is the structure of the module:

└── Conviator
    └── AO
        ├── composer.json
        ├── etc
        │   ├── acl.xml
        │   ├── adminhtml
        │   │   ├── di.xml
        │   │   └── system.xml
        │   ├── config.xml
        │   ├── events.xml
        │   ├── frontend
        │   └── module.xml
        ├── Helper
        │   └── Ws.php
        ├── i18n
        │   └── da_DK.csv
        ├── Model
        │   ├── Ao.php
        │   ├── Carrier.php
        │   └── ResourceModel
        │       ├── AoResource
        │       │   └── Collection.php
        │       └── AoResource.php
        ├── Observer
        │   ├── ProcessOrder.php
        │   ├── ProcessOrders.php
        │   └── ProcessStatus.php
        ├── registration.php
        ├── Setup
        │   ├── InstallData.php
        │   └── InstallSchema.php
        └── view
            └── adminhtml
                └── ui_component
                    ├── category_form.xml
                    └── sales_order_grid.xml

I have tried to delete the entire database and application code and then reinstall Magento from the bottom and I have run php bin/magento cache:clean, php bin/magento setup:di:compile, php bin/magento setup:upgrade multiple times and even deleted the contens of /var.

But nothing helps.

The new tab and section are not showing. Not even the additional group, which should show under Carriers is showing.

I have verified that the changes done by Setup/InstallSchema.php and Setup/InstallData.php are reflecting in the database and that the changes done in view/adminhtml/ui_component/sales_order_grid.xml are reflected in the UI.

Can someone spot what I have done wrong or what I am missing?

Contents of registration.php:

 

<?php
 
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Conviator_AO',
    __DIR__
);

Contents of etc(module.xml:

 

 

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Conviator_AO" setup_version="1.2.3">
        <sequence>
            <module name="Magento_Catalog"/>
            <module name="Magento_Sales"/>
        </sequence>
    </module>
</config>

Contents of 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="conviator_extensions" translate="label" sortOrder="200">
            <label>Conviator Extensions</label>
        </tab>
        <section id="ao" translate="label" type="text" sortOrder="40" showInDefault="1" showInWebsite="1" showInStore="1">
            <label>AO</label>
            <tab>conviator_extensions</tab>
            <resource>Conviator_AO::configuration</resource>
            <group id="import" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="1">
                <label>Import</label>
                <field id="active" translate="label">
                    <label>Enabled</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field id="markup_default" translate="label" type="number">
                    <label>Markup (default)</label>
                    <comment>Here you can set the default markup used for products. If a certain business area needs a different markup, please configure it in the fields below</comment>
                </field>
                <field id="markup_businessarea_7" translate="label" type="number">
                    <label>Markup (EL - KEY:7)</label>
                    <comment>Here you can configure a specific markup for the business area "EL". If not configured, it will use the default set above</comment>
                </field>
                <field id="markup_businessarea_8" translate="label" type="number">
                    <label>Markup (Værktøj - KEY:8)</label>
                    <comment>Here you can configure a specific markup for the business area "Værktøj". If not configured, it will use the default set above</comment>
                </field>
                <field id="markup_businessarea_1" translate="label" type="number">
                    <label>Markup (VVS - KEY:1)</label>
                    <comment>Here you can configure a specific markup for the business area "VVS". If not configured, it will use the default set above</comment>
                </field>
                <field id="markup_businessarea_3" translate="label" type="number">
                    <label>Markup (VA - KEY:3)</label>
                    <comment>Here you can configure a specific markup for the business area "VA". If not configured, it will use the default set above</comment>
                </field>
                <field id="markup_businessarea_4" translate="label" type="number">
                    <label>Markup (VAGA - KEY:4)</label>
                    <comment>Here you can configure a specific markup for the business area "VAGA". If not configured, it will use the default set above</comment>
                </field>
                <field id="markup_businessarea_9" translate="label" type="number">
                    <label>Markup (Diverse - KEY:9)</label>
                    <comment>Here you can configure a specific markup for the business area "Diverse". If not configured, it will use the default set above</comment>
                </field>
            </group>
            <group id="webservice" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="1">
                <label>WebService</label>
                <field id="active" translate="label">
                    <label>Enabled</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field id="url" translate="label" type="text">
                    <label>URL</label>
                </field>
                <field id="test_mode" translate="label">
                    <label>Test Mode</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                    <comment>Set the system to run communication to AO in Test Mode. This will cause the system to submit orders to the AO Test environment and therefore orders will not be processed and shipped to the customer</comment>
                </field>
                <field id="username" translate="label" type="text">
                    <label>Username</label>
                    <comment>Your account username for ao.dk</comment>
                </field>
                <field id="password" translate="label" type="text">
                    <label>Password</label>
                    <comment>Your account password for ao.dk</comment>
                </field>
                <field id="customer_account" translate="label" type="text">
                    <label>Customer Account</label>
                    <comment>Your customer account on ao.dk</comment>
                </field>
                <field id="shop_account" translate="label" type="text">
                    <label>Shop Account</label>
                    <comment>Your account number for the webshop for ao.dk</comment>
                </field>
                <field id="log_email" translate="label" type="email">
                    <label>Log email</label>
                    <comment>Email address to recieve notifications when orders are being sent to AO as well as for automated productfeed updates</comment>
                </field>
                <!-- <field id="process" translate="label" type="text">
                    <label>Process for payment methods</label>
                </field> -->
            </group>
        </section>
        <section id="carriers">
            <group id="aoshipping" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="1">
                <label>AO Shipping</label>
                <field id="active" translate="label">
                    <label>Enabled</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field id="title" translate="label" type="text">
                    <label>Title</label>
                </field>
                <field id="name" translate="label" type="text">
                    <label>Name</label>
                </field>
                <field id="ao_shipping_above_50" translate="label" type="number">
                    <label>Orders above 50kg (DKK)</label>
                </field>
                <field id="ao_shipping_above_70" translate="label" type="number">
                    <label>Orders above 70kg (DKK)</label>
                </field>
                <field id="ao_shipping_above_100" translate="label" type="number">
                    <label>Orders above 100kg (DKK)</label>
                </field>
            </group>
        </section>
    </system>
</config>

Contents of 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="Conviator_AO::configuration" title="Conviator AO Configuration Section" sortOrder="50" />
                        </resource>
                    </resource>
                </resource>
            </resource>
        </resources>
    </acl>
</config>

Contents of etc/config.xml:

 

 

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd">
    <default>
        <carriers>
            <aoshipping>
                <active>1</active>
                <sallowspecific>0</sallowspecific>
                <model>Conviator\AO\Model\Carrier</model>
                <title>Levering hos dig</title>
                <name>Levering</name>
                <ao_shipping_above_50>50</ao_shipping_above_50>
                <ao_shipping_above_70>106.25</ao_shipping_above_70>
                <ao_shipping_above_100>312.50</ao_shipping_above_100>
            </aoshipping>
        </carriers>
        <ao>
            <import>
                <active>0</active>
                <markup_default>1.1</markup_default>
                <markup_businessarea_7>1.1</markup_businessarea_7>
                <markup_businessarea_8>1.1</markup_businessarea_8>
                <markup_businessarea_1>1.1</markup_businessarea_1>
                <markup_businessarea_3>1.1</markup_businessarea_3>
                <markup_businessarea_4>1.1</markup_businessarea_4>
                <markup_businessarea_9>1.1</markup_businessarea_9>
            </import>
            <webservice>
                <active>0</active>
                <url>https://order.ws.ao.dk/ExternalOrderService.svc?wsdl</url>
                <test_mode>0</test_mode>
            </webservice>
        </ao>
    </default>
</config>

 

2 REPLIES

Re: Admin tab for new module is not showing

Hello kenneth_vkd

 

I have checked your code. I have some issue in your system.xml file.

 

<field id="markup_default" translate="label" type="number">

Replace all field

<field id="markup_default" showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" translate="label"  type="text">

--------------------------------------------
<field id="active" translate="label">
<label>Enabled</label>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>

Replace this also 

<field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="active" translate="label" type="select">
<label>Enabled</label>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>


Please use below correct 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="conviator_extensions" translate="label" sortOrder="200">
            <label>Conviator Extensions</label>
        </tab>
        <section id="ao" translate="label" sortOrder="40" showInDefault="1" showInWebsite="1" showInStore="1">
            <label>AO</label>
            <tab>conviator_extensions</tab>
            <resource>Conviator_AO::configuration</resource>
            <group id="import" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="1">
                <label>Import</label>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="active" translate="label" type="select">
                    <label>Enabled</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="markup_default" translate="label" type="text">
                    <label>Markup (default)</label>
                    <comment>Here you can set the default markup used for products. If a certain business area needs a different markup, please configure it in the fields below</comment>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="markup_businessarea_7" translate="label" type="text">
                    <label>Markup (EL - KEY:7)</label>
                    <comment>Here you can configure a specific markup for the business area "EL". If not configured, it will use the default set above</comment>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="markup_businessarea_8" translate="label" type="text">
                    <label>Markup (Værktøj - KEY:8)</label>
                    <comment>Here you can configure a specific markup for the business area "Værktøj". If not configured, it will use the default set above</comment>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="markup_businessarea_1" translate="label" type="text">
                    <label>Markup (VVS - KEY:1)</label>
                    <comment>Here you can configure a specific markup for the business area "VVS". If not configured, it will use the default set above</comment>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="markup_businessarea_3" translate="label" type="text">
                    <label>Markup (VA - KEY:3)</label>
                    <comment>Here you can configure a specific markup for the business area "VA". If not configured, it will use the default set above</comment>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="markup_businessarea_4" translate="label" type="text">
                    <label>Markup (VAGA - KEY:4)</label>
                    <comment>Here you can configure a specific markup for the business area "VAGA". If not configured, it will use the default set above</comment>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="markup_businessarea_9" translate="label" type="text">
                    <label>Markup (Diverse - KEY:9)</label>
                    <comment>Here you can configure a specific markup for the business area "Diverse". If not configured, it will use the default set above</comment>
                </field>
            </group>
            <group id="webservice" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="1">
                <label>WebService</label>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="active" translate="label">
                    <label>Enabled</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="url" translate="label" type="text">
                    <label>URL</label>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="test_mode" translate="label">
                    <label>Test Mode</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                    <comment>Set the system to run communication to AO in Test Mode. This will cause the system to submit orders to the AO Test environment and therefore orders will not be processed and shipped to the customer</comment>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="username" translate="label" type="text">
                    <label>Username</label>
                    <comment>Your account username for ao.dk</comment>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="password" translate="label" type="text">
                    <label>Password</label>
                    <comment>Your account password for ao.dk</comment>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="customer_account" translate="label" type="text">
                    <label>Customer Account</label>
                    <comment>Your customer account on ao.dk</comment>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="shop_account" translate="label" type="text">
                    <label>Shop Account</label>
                    <comment>Your account number for the webshop for ao.dk</comment>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="log_email" translate="label" type="text">
                    <label>Log email</label>
                    <comment>Email address to recieve notifications when orders are being sent to AO as well as for automated productfeed updates</comment>
                </field>
                <!-- <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="process" translate="label" type="text">
                    <label>Process for payment methods</label>
                </field> -->
            </group>
        </section>
        <section id="carriers">
            <group id="aoshipping" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="1">
                <label>AO Shipping</label>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="active" translate="label" type="select">
                    <label>Enabled</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="title" translate="label" type="text">
                    <label>Title</label>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="name" translate="label" type="text">
                    <label>Name</label>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="ao_shipping_above_50" translate="label" type="text">
                    <label>Orders above 50kg (DKK)</label>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="ao_shipping_above_70" translate="label" type="text">
                    <label>Orders above 70kg (DKK)</label>
                </field>
                <field showInDefault="1" showInStore="1" showInWebsite="1" sortOrder="10" id="ao_shipping_above_100" translate="label" type="text">
                    <label>Orders above 100kg (DKK)</label>
                </field>
            </group>
        </section>
    </system>
</config>



Note : type="number" is not allow in systemx.xml 
You can use type="text" , type="textarea" , type="select" and type="multiselect"

 

Hope it will help to solve problem then please click Accept as Solution!"

Re: Admin tab for new module is not showing

Thank you

Strange that even with developer mode active, that I did not get any errors in any logfiles or on the screen when the XML was invalid.

 

The code is originally from a CE 1.9 project, so the issues might have been there

 

However it does now work