Quiero agregar una MassAction en Order Grid en Magento2.
Agrego xml en view/adminhtml/ui_component/sales_order_grid.xml. Al agregar este XML MassAction, se muestra en el menú desplegable. Pero cuando selecciono MassAction, no obtuve los ID de pedido en la solicitud posterior.
<?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"> <listingToolbar name="listing_top"> <massaction name="listing_massaction"> <action name="mass_order_assigntrackingnumber"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="type" xsi:type="string">order_assigntrackingnumber</item> <item name="label" xsi:type="string" translate="true">Assign Tracking Number</item> <item name="url" xsi:type="url" path="helloworld/orderprocessing/"/> </item> </argument> </action> </massaction> </listingToolbar> </listing>Obtuve cuando imprimo la solicitud POST: -
Array ( [key] => 2c7824dfa98ff4e9f550d2f4d07e696c650fbb48448ac3f8a8377f1c793e9294 [excluded] => false [filters] => Array ( [placeholder] => true ) [search] => [namespace] => sales_order_grid [form_key] => hvUs2LDFHbjJN3zY )Controlador de acción masiva
<?php namespace Inchoo\Helloworld\Controller\Adminhtml\Orderprocessing; class Index extends \Magento\Backend\App\Action{ public function execute(){ $data = $this->getRequest()->getParams(); echo "<pre>";print_r($data); die; die("Hello"); } } ?>Por favor, ayúdenme a descubrir cómo obtener ID de pedidos a través de MassAction personalizado en el controlador MassAction en Magento2 .
Controlador de acción masiva
Actualice el código con esto:
<?php namespace Inchoo\Helloworld\Controller\Adminhtml\Orderprocessing; class Index extends \Magento\Sales\Controller\Adminhtml\Order\AbstractMassAction { protected function massAction(AbstractCollection $collection){ //your code here //Here you will get collection } } Código de referencia: /var/www/html/mage2/vendor/magento/module-sales/Controller/Adminhtml/Order/MassCancel.php