ОК. Пробуйте так в процессоре web/catalog/products/getdata: protected function setSelection(xPDOQuery $c) { $c = parent::setSelection($c);

    .....................
    
    if($user_id = $this->modx->user->id){
        
        $OrdersTable = $this->modx->getTableName('Order');
        $OrderProductTable = $this->modx->getTableName('OrderProduct');
        
        $c->select(array(
            "(select count(*) FROM {$OrdersTable} o
                INNER JOIN {$OrderProductTable} pt on o.id = pt.order_id
                where 
                    pt.product_id = Product.id
                    AND o.contractor = {$user_id}
            ) as `exists`",
        ));
    }
    
    return $c;
}