Question

I am trying at custom attribute to category edit form in Magento 2.2.3 admin.

I have created category_form.xml at below path.

Vendor/Module/view/adminhtml/ui_component/catgory_form.xml

<?xml version="1.0" encoding="UTF-8"?>
<form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
<fieldset name="general">
    <field name="is_master_category">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="sortOrder" xsi:type="number">110</item>
                <item name="dataType" xsi:type="string">boolean</item>
                <item name="formElement" xsi:type="string">checkbox</item>
                <item name="source" xsi:type="string">category</item>
                <item name="prefer" xsi:type="string">toggle</item>
                <item name="valueMap" xsi:type="array">
                    <item name="true" xsi:type="string">1</item>
                    <item name="false" xsi:type="string">0</item>
                </item>
                <item name="default" xsi:type="string">1</item>
                <item name="label" xsi:type="string" translate="true">Is Master Category</item>
                <item name="notice" xsi:type="string" translate="true"></item>
                <item name="additionalClasses" xsi:type="string"></item>
                <item name="required" xsi:type="boolean">true</item>
                <item name="validation" xsi:type="array">
                    <item name="required-entry" xsi:type="boolean">true</item>
                </item>
            </item>
        </argument>
    </field>

</fieldset>

Above code is working fine, Attribute is there but now i think it looks different, So i decided to create new fieldset and than want to add this attribute into it.

I tried below code but its not working.

<fieldset name="custom_fieldset" sortOrder="999">
    <settings>
        <collapsible>true</collapsible>
        <label translate="true">Custom Configurations</label>
    </settings>
    <field name="is_master_category">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="sortOrder" xsi:type="number">110</item>
                <item name="dataType" xsi:type="string">boolean</item>
                <item name="formElement" xsi:type="string">checkbox</item>
                <item name="source" xsi:type="string">category</item>
                <item name="prefer" xsi:type="string">toggle</item>
                <item name="valueMap" xsi:type="array">
                    <item name="true" xsi:type="string">1</item>
                    <item name="false" xsi:type="string">0</item>
                </item>
                <item name="default" xsi:type="string">1</item>
                <item name="label" xsi:type="string" translate="true">Is Master Category</item>
                <item name="notice" xsi:type="string" translate="true"></item>
                <item name="additionalClasses" xsi:type="string"></item>
                <item name="required" xsi:type="boolean">true</item>
                <item name="validation" xsi:type="array">
                    <item name="required-entry" xsi:type="boolean">true</item>
                </item>
            </item>
        </argument>
    </field>

</fieldset>

Note: After dot i have add same code as above but its not working.

i cheked vendor file i think i've done same as them, but i think there is something is missing.

Please guide me, THanks in Advance

Was it helpful?

Solution

I think, this will help you.

<?xml version="1.0" encoding="UTF-8"?>
<form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">  
<fieldset name="custom_fieldset">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            <item name="label" xsi:type="string" translate="true">Custom Fieldset</item>
            <item name="collapsible" xsi:type="boolean">true</item>
            <item name="sortOrder" xsi:type="number">31</item>
        </item>
    </argument>
    <field name="is_master_category">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="sortOrder" xsi:type="number">10</item>
                <item name="dataType" xsi:type="string">boolean</item>
                <item name="formElement" xsi:type="string">checkbox</item>
                <item name="label" xsi:type="string" translate="true">Is Master Category</item>
                <item name="prefer" xsi:type="string">toggle</item>
                <item name="valueMap" xsi:type="array">
                    <item name="true" xsi:type="string">1</item>
                    <item name="false" xsi:type="string">0</item>
                </item>
                <item name="default" xsi:type="number">0</item>
            </item>
        </argument>
    </field>
  </fieldset>
</form>

And add Magento_Catalog sequence into module.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
    <module name="Custom_Field" setup_version="1.0.0">
        <sequence>
            <module name="Magento_Catalog"/>
        </sequence>
      </module>
</config>

Cheers !!

Updated.

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top