Hello guys!!
In this article, we will learn how to create a radio button in admin Configuration.
Magento does provide the type to create a radio type field but if you use it, it will only show a single radio button without any title or value to save, So it requires a little custom task to make it look understandable and working.
Let’s do it!!
First, we will create a system.xml
app/code/Webkul/Demo/etc/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="webkul" translate="label" sortOrder="100"> <label>Webkul</label> </tab> <section id="demo" translate="label" type="text" sortOrder="100" showInDefault="1" showInWebsite="1" showInStore="1"> <label>Demo</label> <tab>webkul</tab> <resource>Webkul_Demo::config_demo</resource> <group id="general" translate="label" type="text" sortOrder="100" showInDefault="1" showInWebsite="1" showInStore="1"> <label>General Setting</label> <field id="enable" translate="label" type="radios" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1" canRestore="1"> <label>Module</label> <source_model>Webkul\Demo\Model\Config\Source\Radio</source_model> </field> </group> </section> </system> </config>
Note:- Field type is radios, not radio
Let’s create our custom source model.
app/code/Webkul/Demo/Model/Config/Source/Radio
<?php namespace Webkul\Demo\Model\Config\Source; class Radio implements \Magento\Framework\Data\OptionSourceInterface { /** * To option array */ public function toOptionArray() { return [ ['value' => 1, 'label' => __('Enable')], ['value' => 0, 'label' => __('Disable')] ]; } }
That’s all for this article. Let me know if this was helpful. Thank you for your time.
Be the first to comment.