I made a custom mass action for the product grid. This is the ui component part:
<?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="barcode">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="type" xsi:type="string">barcode</item>
<item name="label" xsi:type="string" translate="true">Create Barcode(s)</item>
<item name="url" xsi:type="url" path="modulename_product_barcode/product/massCreateBarcode"/>
</item>
</argument>
</action>
</massaction>
</listingToolbar>
</listing>
In my controller I put this code:
public function execute()
{
var_dump($_POST); exit();
...
}
The result of the var_dump
is:
array (size=5)
'selected' =>
array (size=1)
0 => string '1' (length=1)
'filters' =>
array (size=1)
'placeholder' => string 'true' (length=4)
'search' => string '' (length=0)
'namespace' => string 'product_listing' (length=15)
'form_key' => string 'fgqSDhnd44Eao74Y' (length=16)
As you can see the selected
which contains the product entity ids is present! If I do a search in the product grid after the sku, the result of the var_dump
is:
array (size=5)
'excluded' => string 'false' (length=5)
'filters' =>
array (size=1)
'placeholder' => string 'true' (length=4)
'search' => string 'SP' (length=2)
'namespace' => string 'product_listing' (length=15)
'form_key' => string 'fgqSDhnd44Eao74Y' (length=16)
Here the selected
is missing. Not sure why ? So how can i get the product entity ids after searching or filtering the product grid for a mass action ?
Thank you