Sometimes we might have to show a warning message on a product tab on the product edit page in Magento 2. Let’s see how we can do that.
First, create ‘di.xml’ in location Webkul/ShowWarning/etc/adminhtml/
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<virtualType name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Pool">
<arguments>
<argument name="modifiers" xsi:type="array">
<item name="advancedCustomOptions" xsi:type="array">
<item name="class" xsi:type="string">Webkul\ShowWarning\Ui\DataProvider\ProductForm</item>
<item name="sortOrder" xsi:type="number">20</item>
</item>
</argument>
</arguments>
</virtualType>
</config>
Then create ‘CustomOptions.php’ in location Webkul/ShowWarning/Ui/DataProvider/
<?php
namespace Webkul\ShowWarning\Ui\DataProvider;
use Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\AbstractModifier;
use Magento\Catalog\Model\Locator\LocatorInterface;
use Magento\Framework\App\RequestInterface;
use Magento\Framework\View\LayoutFactory;
use Magento\Ui\Component\Container;
class CustomOptions extends AbstractModifier
{
/**
* @var LocatorInterface
*/
protected $locator;
/**
* @var RequestInterface
*/
protected $request;
/**
* @var LayoutFactory
*/
private $layoutFactory;
public function __construct(
LocatorInterface $locator,
RequestInterface $request,
LayoutFactory $layoutFactory
) {
$this->locator = $locator;
$this->request = $request;
$this->layoutFactory = $layoutFactory;
}
public function modifyMeta(array $meta)
{
$meta["custom_options"] = [
'children' => [
'price_drop_warning' => $this->getPriceDropWarning()
]
];
return $meta;
}
/**
* {@inheritdoc}
*/
public function modifyData(array $data)
{
return $data;
}
public function getPriceDropWarning()
{
return [
'arguments' => [
'data' => [
'config' => [
'componentType' => 'container',
'component' => 'Magento_Ui/js/form/components/html',
'additionalClasses' => 'message message-warning',
'content' => __('Your Warning Message'),
],
],
]
];
}
}
Here we have shown the warning message on the Custom Options tab.
Note – Here the ‘additionalClasses’ key is responsible for the warning template of the given content, you can also change the content template to error format, use ‘message message-error’ as the value of ‘additionalClasses’ key.
Before showing warning

After showing warning


Be the first to comment.