🔥 Just Launched! Werra Premium Template for HyväSee it in Action

How to Add New Field in Cart Price Rules Form in Magento 2 Backend

By Jignesh ParmarUpdated on Jul 17, 2025 2 min read

Magento 2 CMS is popular among store merchants due to its capability of customization to satisfy custom business requirements.

Today, I will talk about one such customization to add new field in cart price rules form in Magento 2 backend.

The admin can use the below programmatic solution to add a new custom field in the cart price rules form in the admin panel of Magento 2.

For instance, while using any third-party APIs for offers, you need to pass any data and for that, you require adding a custom field.

Any such requirements can be done using the below method:

Method to Add New Field in Cart Price Rules Form in Magento 2 Backend:

1. Create UpgradeSchema.php file at app\code\Meetanshi\Mtapi\Setup\

<?php

namespace Meetanshi\Mtapi\Setup;

use Magento\Framework\App\Config\ConfigResource\ConfigInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
use Magento\Framework\Setup\UpgradeSchemaInterface;

class UpgradeSchema implements UpgradeSchemaInterface
{
    protected $resourceConfig;

    public function __construct(
        ConfigInterface $resourceConfig)
    {
        $this->resourceConfig = $resourceConfig;
    }

    public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context)
    {
        $installer = $setup;
        $installer->startSetup();

        $installer->getConnection()->addColumn(
            $installer->getTable('salesrule'),
            'redirection_link',
            [
                'type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
                'unsigned' => true,
                'nullable' => true,
                'default' => '',
                'comment' => 'redirection_link'
            ]
        );

        $installer->getConnection()->addColumn(
            $installer->getTable('salesrule'),
            'offer_image',
            [
                'type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
                'unsigned' => true,
                'nullable' => true,
                'default' => '',
                'comment' => 'offer_image'
            ]
        );
        $installer->endSetup();
    }
}

2. Create sales_rule_form.xml file at app\code\Meetanshi\Mtapi\view\adminhtml\ui_component\

<?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="rule_information" sortOrder="10">
        <field name="redirection_link" formElement="input">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">sales_rule</item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Redirection Link</label>
                <dataScope>redirection_link</dataScope>
            </settings>
        </field>
    </fieldset>
</form>

That’s it.

Also, please share the solution with Magento Community via social media.

Thank you.

Jignesh Parmar Full Image
Article byJignesh Parmar

An expert in his field, Jignesh is the team leader at Meetanshi and a certified Magento developer. His passion for Magento has inspired others in the team too. Apart from work, he is a cricket lover.