Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento2 如何在magento 2中的销售订单网格中显示发货国家/地区_Magento2 - Fatal编程技术网

Magento2 如何在magento 2中的销售订单网格中显示发货国家/地区

Magento2 如何在magento 2中的销售订单网格中显示发货国家/地区,magento2,Magento2,我试图在管理销售订单网格中显示发货国,但没有任何效果 我确实检查了两次客户地址配置,在那里我可以看到country变量存在并且应该显示出来。但在网格中,你看不到航运国 有什么解决办法吗?我找到了解决办法。创建模块并重写类 app/code/Vendor/ExtendedAdminGrid/etc/di.xml <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" x

我试图在管理销售订单网格中显示发货国,但没有任何效果

我确实检查了两次客户地址配置,在那里我可以看到country变量存在并且应该显示出来。但在网格中,你看不到航运国


有什么解决办法吗?

我找到了解决办法。创建模块并重写类

app/code/Vendor/ExtendedAdminGrid/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">
    <type name="Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory">
        <arguments>
            <argument name="collections" xsi:type="array">
                <item name="sales_order_grid_data_source" xsi:type="string">Vendor\ExtendedAdminGrid\Model\ResourceModel\Order\Grid\Collection</item>
            </argument>
        </arguments>
    </type>
</config>

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Vendor_ExtendedAdminGrid" setup_version="2.0.0">
        <sequence>
            <module name="Magento_Sales"/>
            <module name="Magento_Backend"/>
        </sequence>
    </module>
</config>
<?php
namespace Vendor\ExtendedAdminGrid\Model\ResourceModel\Order\Grid;

class Collection extends \Magento\Sales\Model\ResourceModel\Order\Grid\Collection
{
    protected function _renderFiltersBefore()
    {
        $this->getSelect()->joinLeft(
            ["soa" => "sales_order_address"],
            "main_table.entity_id = soa.parent_id and soa.address_type = 'shipping'",
            array('country_id')
        )
        ->distinct();

        parent::_renderFiltersBefore();
    }
    protected function _initSelect()
    {

        $this->addFilterToMap('created_at', 'main_table.created_at');
        $this->addFilterToMap('base_grand_total', 'main_table.base_grand_total');
        $this->addFilterToMap('grand_total', 'main_table.grand_total');
        $this->addFilterToMap('store_id', 'main_table.store_id');
        $this->addFilterToMap('store_name', 'main_table.store_name');
        $this->addFilterToMap('order_id', 'main_table.order_id');
        $this->addFilterToMap('order_increment_id', 'main_table.order_increment_id');
        $this->addFilterToMap('billing_name', 'main_table.billing_name');
        $this->addFilterToMap('billing_name', 'main_table.shipping_name');
        $this->addFilterToMap('status', 'main_table.status');

        parent::_initSelect();
    }
}
<?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="country_id">
            <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">Shipping Country ID</item>
                </item>
            </argument>
        </column>
    </columns>
</listing>
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Vendor_ExtendedAdminGrid',
    __DIR__
);