CoreShop Order List Filter

This comes in handy if you need some special filtered data in your Order List. Your Customer is able to filter orders on specific conditions.


Register Filter Service

        - { name: coreshop.grid.filter, type: demo }

Create PHP Class

In this example we want to filter orders with available shipments in state "ready".


namespace AppBundle\CoreShop\OrderList\Filter;

use CoreShop\Component\Pimcore\DataObject\Grid\GridFilterInterface;
use Pimcore\Db\ZendCompatibility\QueryBuilder;
use Pimcore\Model\DataObject;

class DemoFilter implements GridFilterInterface
    public function getName(): string
        return 'coreshop.order_filter.shipment_apply';

    public function filter(DataObject\Listing $list, array $context): DataObject\Listing
        $list->onCreateQuery(function (QueryBuilder $select) use ($list) {
                ['shipment' => 'object_query_4'],
                'shipment.order__id = object_' . $list->getClassId() . '.o_id'

        $list->addConditionParam('orderState = ?', 'confirmed');
        $list->addConditionParam('shipment.state = ?', 'ready');

        return $list;

    public function supports(string $listType): bool
        return $listType === 'coreshop_order';