custom/static-plugins/CioFormBuilder/src/Subscriber/ProductPageCriteriaSubscriber.php line 27

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace CioFormBuilder\Subscriber;
  4. use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
  5. use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter;
  6. use Shopware\Storefront\Page\Product\ProductPageCriteriaEvent;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. /**
  9.  * Stellt sicher, dass Varianten und deren Eltern die Form-Associations geladen bekommen,
  10.  * damit das POD/PDP-Formular auch bei Varianten dargestellt wird.
  11.  *
  12.  * CIO-AI-Driven
  13.  */
  14. class ProductPageCriteriaSubscriber implements EventSubscriberInterface
  15. {
  16.     public static function getSubscribedEvents(): array
  17.     {
  18.         return [
  19.             ProductPageCriteriaEvent::class => 'onProductPageCriteria',
  20.         ];
  21.     }
  22.     public function onProductPageCriteria(ProductPageCriteriaEvent $event): void
  23.     {
  24.         $criteria $event->getCriteria();
  25.         // Form-Associations für das aktuelle Produkt laden
  26.         // (Parent wird bei Bedarf separat über Repository im ProductDetailSubscriber geholt).
  27.         $criteria->addAssociation('formData');
  28.         $criteria->addAssociation('formData.fields');
  29.     }
  30. }