Tôi đã tạo mô-đun tùy chỉnh sẽ thêm thuộc tính tùy chỉnh trong thực thể Đơn hàng và sau đó hiển thị trong lưới Đơn đặt hàng bán hàng của quản trị viên.
tập tin mô-đun để xác định mô-đun. ứng dụng \ code \ CÔNG TY \ 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>
tệp di.xml trong ứng dụng \ 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>
InstallData.php để thêm thuộc tính export_status tùy chỉnh trong bảng cơ sở dữ liệu
ứng dụng \ code \ CÔNG TY \ 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 để thêm cột tùy chỉnh trong lưới quản trị Đơn hàng.
<?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>
Bạn có thể tải xuống mô-đun đầy đủ bằng cách nhấp vào liên kết bên dưới
http://vdcstaging.co.in/doad/add-custom-culumn-to-admin-grid.zip