Adobe Sees 520% Jump in AI-Assisted Holiday Shopping
Reading Time: 2 minutes Key Highlights AI-driven traffic to U.S. retail sites will increase by…
In Magento 2 UI grid, sometimes when data-provider is passed in the XML file and we have to add the filter of store switcher, it doesn’t works,because when Magento call the collection of grid via ajax it use another controller(default -> mui/index/render) and it won’t have the parameter same as the previous URL, so to pass these parameters to new URL we can follow the below mentioned steps.
First add custom key, a filter_url_params section in the data-provider UI grid, as shown:
<dataSource name="driver_listing_data_source"> <argument name="dataProvider" xsi:type="configurableObject"> <argument name="class" xsi:type="string">MageNative\MobiDelivery\Ui\DataProvider\DriverDataProvider</argument> <argument name="name" xsi:type="string">driver_listing_data_source</argument> <argument name="primaryFieldName" xsi:type="string">id</argument> <argument name="requestFieldName" xsi:type="string">id</argument> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="component" xsi:type="string">Magento_Ui/js/grid/provider</item> <item name="update_url" xsi:type="url" path="mui/index/render"/> <item name="storageConfig" xsi:type="array"> <item name="indexField" xsi:type="string">id</item> <item name="dataScope" xsi:type="string">store_id</item> </item> <item name="filter_url_params" xsi:type="array"> <item name="store" xsi:type="string">*</item> </item> </item> </argument> </argument> </dataSource>
In the second step, add the ‘$’ sign, this->prepares updateUrl(); in the __construct(…).
After that add the first add custom key below the filter_url_params section in the data-provider UI grid, as shown
/** * @return void */ protected function prepareUpdateUrl() { if (!isset($this->data['config']['filter_url_params'])) { return; } foreach ($this->data['config']['filter_url_params'] as $paramName => $paramValue) { if ('*' == $paramValue) { $paramValue = $this->request->getParam($paramName); } if ($paramValue) { $this->data['config']['update_url'] = sprintf( '%s%s/%s/', $this->data['config']['update_url'], $paramName, $paramValue ); $this->addFilter( $this->filterBuilder->setField($paramName)->setValue($paramValue)->setConditionType('eq')->create() ); } } }
Now in the end, as a conclusion, this process will help you to add another filter like store-switcher from outside the grid filters.
Reading Time: 2 minutes Key Highlights AI-driven traffic to U.S. retail sites will increase by…
Reading Time: 2 minutes Critical security alert for Adobe Commerce & Magento merchants. Adobe has…
Reading Time: 4 minutes Magento is a powerful platform for eCommerce websites. However, with two…
Reading Time: 13 minutes By 2025, retail eCommerce sales are projected to account for over…
Reading Time: 16 minutes E-commerce is constantly expanding, with an accelerating pace of development in…
Reading Time: 3 minutes We at CedCommerce are happy to share some exciting news for…
Reading Time: 3 minutes Portland, Oregon [October 12, 2022]: CedCommerce is a leading eCommerce solution…
Reading Time: 3 minutes Prepare yourself with a list of the Magneto Integrations you’ve always…
Reading Time: 3 minutes Portland Oregon [September 5, 2022]: CedCommerce, a Magento marketplace solution provider,…
Reading Time: 4 minutes Have you heard that Shopee OpenAPI 2.0 has replaced the 1.0…