판매 주문 엔터티에 사용자 지정 특성을 추가 한 다음 관리자 판매 주문 표에 표시 할 사용자 지정 모듈을 만들었습니다.
모듈을 정의하는 module.xml 파일 app \ code \ COMPANY \ MODULE \ etc \ 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>
app \ code \ COMPANY \ MODULE \ etc \ di.xml의 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
app \ code \ COMPANY \ MODULE \ 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