Как сохранить данные в таблице сетки отгрузки продаж, сохранив их в таблице отгрузки продаж в Magento 2?
После создания отгрузки я сохраняю в нее дополнительные данные, и мне нужно отобразить эти данные в таблице отгрузки.
Я добавил столбец с именем 'some_data'
в таблицы sales_shipment
и sales_shipment_grid
в базе данных. Также добавлены компоненты пользовательского интерфейса для отображения этого столбца в shipment_grid:
sales_order_shipment_grid.xml
<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_shipment_columns">
<column name="some_data">
<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">Some Data</item>
</item>
</argument>
</column>
</columns>
</listing>
Также добавлена конфигурация в MyNamespace/MyModule/etc/adminhtml/di.xml :
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<virtualType name="ShipmentGridAggregator" type="Magento\Sales\Model\ResourceModel\Grid">
<arguments>
<argument name="columns" xsi:type="array">
<item name="some_data" xsi:type="string">sales_shipment.some_data</item>
</argument>
</arguments>
</virtualType>
Значение успешно сохраняется в таблице sales_shipment
, но не в таблице sales_shipment_grid
, поэтому столбец в сетка отгрузки администратора остается пустой.
Как я могу заполнить этот пользовательский столбец данными из столбца таблицы sales_shipment
?
Может быть, есть другие подходы?
Все примеры, которые я нашел, были для sales_order_grid
, и они не работают для sales_shipment_grid
.
1 answers
Что ж, это работает. Единственное, что требовало изменений, - это добавить вышеуказанную конфигурацию di в MyNamespace/MyModule/etc/di.xml (не MyNamespace/MyModule/etc/adminhtml/di.xml).