<?php declare(strict_types=1);
namespace Swag\EnterpriseSearch\Product;
use Shopware\Core\Content\Product\SalesChannel\Search\AbstractProductSearchRoute;
use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
use Shopware\Core\Framework\DataAbstractionLayer\Search\EntitySearchResult;
use Shopware\Core\System\SalesChannel\SalesChannelContext;
use Swag\EnterpriseSearch\Common\VersionHelper;
use Swag\EnterpriseSearch\Search\SearchGatewayInterface;
use Symfony\Component\HttpFoundation\Request;
class ProductSearchRouteAdapter implements SearchGatewayInterface
{
/**
* @var AbstractProductSearchRoute
*/
private $productSearchRoute;
public function __construct(
AbstractProductSearchRoute $productSearchRoute
) {
$this->productSearchRoute = $productSearchRoute;
}
public function search(Request $request, SalesChannelContext $salesChannelContext): EntitySearchResult
{
$criteria = new Criteria();
if (VersionHelper::isShopware64X()) {
$criteria->setTitle('search-page');
}
return $this->productSearchRoute->load($request, $salesChannelContext, $criteria)->getListingResult();
}
}