मैंने कस्टम मॉड्यूल बनाया है जो बिक्री आदेश इकाई में कस्टम विशेषता जोड़ देगा और फिर व्यवस्थापक बिक्री आदेश ग्रिड में दिखाएगा।
मॉड्यूल को परिभाषित करने के लिए मॉड्यूल। xml फ़ाइल। एप्लिकेशन \ कोड \ कंपनी \ मॉड्यूल \ आदि \ 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="COMPANY_MODULE" setup_version="1.0.0">
<sequence>
<module name="Magento_Sales"/>
<module name="Magento_Quote"/>
<module name="Magento_Checkout"/>
</sequence>
</module>
</config>
di.xml फ़ाइल app \ code \ Company \ MODULE \ etc \ 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\Sales\Model\ResourceModel\Order\Grid" type="Magento\Sales\Model\ResourceModel\Grid">
<arguments>
<argument name="columns" xsi:type="array">
<item name="export_status" xsi:type="string">sales_order.export_status</item>
</argument>
</arguments>
</virtualType>
</config>
डेटाबेस तालिका में कस्टम विशेषता Export_status जोड़ने के लिए InstallData.php
एप्लिकेशन \ कोड \ कंपनी \ मॉड्यूल \ Setup \ InstallData.php
<?php
namespace COMPANY\MODULE\Setup;
use Magento\Eav\Setup\EavSetup;
use Magento\Eav\Setup\EavSetupFactory;
use Magento\Framework\Setup\InstallDataInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\ModuleDataSetupInterface;
/**
* @codeCoverageIgnore
*/
class InstallData implements InstallDataInterface
{
/**
* EAV setup factory
*
* @var EavSetupFactory
*/
private $eavSetupFactory;
/**
* Init
*
* @param EavSetupFactory $eavSetupFactory
*/
public function __construct(EavSetupFactory $eavSetupFactory)
{
$this->eavSetupFactory = $eavSetupFactory;
}
/**
* {@inheritdoc}
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
{
/** @var EavSetup $eavSetup */
$eavSetup = $this->eavSetupFactory->create(['setup' => $setup]);
if (version_compare($context->getVersion(), '1.0.0') < 0){
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$salesSetup = $objectManager->create('Magento\Sales\Setup\SalesSetup');
$salesSetup->addAttribute('order', 'export_status', ['type' =>'varchar']);
$quoteSetup = $objectManager->create('Magento\Quote\Setup\QuoteSetup');
}
}
}
बिक्री आदेश व्यवस्थापक ग्रिड में कस्टम कॉलम जोड़ने के लिए sales_order_grid.xml।
<?xml version="1.0" encoding="UTF-8"?>
<listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
<columns name="sales_order_columns">
<column name="export_status">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">text</item>
<item name="label" xsi:type="string" translate="true">XML Exported</item>
</item>
</argument>
</column>
</columns>
</listing>
आप नीचे दिए गए लिंक http://vdcstaging.co.in/download/add-custom-culumn-to-admin-grid.zip पर क्लिक करके पूरा मॉड्यूल डाउनलोड कर सकते हैं