I am new developer of Magento 2.
Is Magento provided a way to set default value of quantity in admin new product page?
I found solution:
your_module_dir/view/adminhtml/ui_component/product_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">
<modal name="advanced_inventory_modal">
<fieldset name="stock_data">
<field name="qty">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="value" xsi:type="string">1</item>
</item>
</argument>
</field>
</fieldset>
</modal>
</form>
Don't forget clear cache. I hope it will help.
Vendor/Module/etc/adminhtml/di.xml
<?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="defaultQtyModifier" xsi:type="array">
<item name="class" xsi:type="string">Vendor\Module\Ui\DataProvider\Product\Form\Modifier\DefaultQtyModifier</item>
<item name="sortOrder" xsi:type="number">200</item>
</item>
</argument>
</arguments>
</virtualType>
</config>
Vendor/Module/Ui/DataProvider/Product/Form/Modifier/DefaultQtyModifier.php
<?php
namespace Vendor\Module\Ui\DataProvider\Product\Form\Modifier;
use Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\AbstractModifier;
use Magento\Catalog\Model\Locator\LocatorInterface;
class DefaultQtyModifier extends AbstractModifier
{
/**
* @var LocatorInterface
*/
private $locator;
/**
* DefaultQtyModifier constructor.
* @param LocatorInterface $locator
*/
public function __construct(
LocatorInterface $locator
) {
$this->locator = $locator;
}
/**
* @param array $data
* @return array
*/
public function modifyData(array $data)
{
$model = $this->locator->getProduct();
$modelId = $model->getId();
if (!isset($data[$modelId][self::DATA_SOURCE_DEFAULT]['quantity_and_stock_status']['qty'])) {
$data[$modelId][self::DATA_SOURCE_DEFAULT]['quantity_and_stock_status']['qty'] = 'Enter Your Qty';
}
return $data;
}
/**
* @param array $meta
* @return array
*/
public function modifyMeta(array $meta)
{
return $meta;
}
}