<?php
declare(strict_types=1);
namespace CioFormBuilder\Subscriber;
use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter;
use Shopware\Storefront\Page\Product\ProductPageCriteriaEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
/**
* Stellt sicher, dass Varianten und deren Eltern die Form-Associations geladen bekommen,
* damit das POD/PDP-Formular auch bei Varianten dargestellt wird.
*
* CIO-AI-Driven
*/
class ProductPageCriteriaSubscriber implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [
ProductPageCriteriaEvent::class => 'onProductPageCriteria',
];
}
public function onProductPageCriteria(ProductPageCriteriaEvent $event): void
{
$criteria = $event->getCriteria();
// Form-Associations für das aktuelle Produkt laden
// (Parent wird bei Bedarf separat über Repository im ProductDetailSubscriber geholt).
$criteria->addAssociation('formData');
$criteria->addAssociation('formData.fields');
}
}