Cómo filtrar la cuadrícula de pedidos por múltiples ID de pedidos en Magento 2

Estás leyendo la publicación: Cómo filtrar la cuadrícula de pedidos por múltiples ID de pedidos en Magento 2

espacio de nombres Proveedor\Módulo\Complemento\UiComponent\Proveedor de datos;

use Magento\Framework\Api\Filter;

use Magento\Framework\App\Request\Http;

use Magento\Framework\Data\Collection;

use Magento\Framework\View\Element\UiComponent\DataProvider\FilterApplierInterface;

use Magento\Sales\Api\Data\OrderInterface;

clase FilterApplier

{

const SALES_ORDER_GRID_NAMESPACE = ‘sales_order_grid’;

$solicitud protegida;

función pública __construir(

Http $solicitud

)

{

$esta->solicitud = $solicitud;

}

función pública beforeApply(FilterApplierInterface $sujeto, Colección $colección, Filtro $filtro)

{

$espacio de nombres = $este->solicitud->getParam(‘espacio de nombres’);

if ($espacio de nombres == self::SALES_ORDER_GRID_NAMESPACE) {

if ($filtro->getField() == OrderInterface::INCREMENT_ID) {

$modifiedFilterValue = str_replace(‘%’, ”, $filter->getValue());

$modifiedFilterValue = preg_replace(‘/\s+/’, ”, $modifiedFilterValue);

if (strpos($modifiedFilterValue, “,”) !== false) {

$filtro->setValue($modifiedFilterValue);

$filtro->setConditionType(‘en’);

} demás {

$filtro->setValue(‘%’ . $modifiedFilterValue . ‘%’);

$filtro->setConditionType(‘me gusta’);

}

}

}

devolver [$collection, $filter];

}

}

🔥 Recomendado:  Cómo configurar un mensaje de validación personalizado en Magento 2