vendor/store.shopware.com/swagenterprisesearchplatform/src/Category/CategoryUpdater.php line 36

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Swag\EnterpriseSearch\Category;
  3. use Shopware\Core\Content\Category\Event\CategoryIndexerEvent;
  4. use Shopware\Core\Framework\DataAbstractionLayer\EntityDefinition;
  5. use Shopware\Elasticsearch\Framework\Indexing\ElasticsearchIndexer;
  6. use Swag\EnterpriseSearch\Common\VersionHelper;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. class CategoryUpdater implements EventSubscriberInterface
  9. {
  10.     /**
  11.      * @var ElasticsearchIndexer
  12.      */
  13.     private $indexer;
  14.     /**
  15.      * @var EntityDefinition
  16.      */
  17.     private $definition;
  18.     public function __construct(ElasticsearchIndexer $indexerEntityDefinition $definition)
  19.     {
  20.         $this->indexer $indexer;
  21.         $this->definition $definition;
  22.     }
  23.     public static function getSubscribedEvents(): array
  24.     {
  25.         return [
  26.             CategoryIndexerEvent::class => 'update',
  27.         ];
  28.     }
  29.     public function update(CategoryIndexerEvent $event): void
  30.     {
  31.         if (VersionHelper::isShopware64X()) {
  32.             $this->indexer->updateIds(
  33.                 $this->definition,
  34.                 $event->getIds()
  35.             );
  36.             return;
  37.         }
  38.         $this->indexer->sendIndexingMessages(
  39.             $this->definition,
  40.             $event->getIds()
  41.         );
  42.     }
  43. }