<?php declare(strict_types=1);
namespace IdeaBooks\Storefront\Subscriber;
use Shopware\Core\Content\Product\Events\ProductSearchCriteriaEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class ProductListingFeaturesSubscriber implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [
ProductSearchCriteriaEvent::class => [
['handleSearchRequest', 101]//prioriteit moet hoger zijn dan die in shopware/core/Content/Product/SalesChannel/Listing/ProductListingFeaturesSubscriber.php
],
];
}
public function handleSearchRequest(ProductSearchCriteriaEvent $event): void
{
//dump($event);
$request = $event->getRequest();
if (!$request->get('order')) {
//$request->request->set('order', self::DEFAULT_SEARCH_SORT);
//forceer 'date-desc' als order, als geen order is geset
//$request->request->set('order', 'date-desc');
//3-2-22 nu weer op 'score' geset - wat betekent dat de resultaten op pagina 'search' weer op volgorde van relevantie komen
$request->request->set('order', 'score');
}
//dump($request);
}
}