custom/plugins/MoorlFoundation/src/Core/Content/Cms/DataResolver/FoundationCmsElementResolver.php line 47

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace MoorlFoundation\Core\Content\Cms\DataResolver;
  3. use MoorlFoundation\Core\Framework\Plugin\Exception\TypePatternException;
  4. use Shopware\Core\Content\Cms\Aggregate\CmsSlot\CmsSlotEntity;
  5. use Shopware\Core\Content\Cms\DataResolver\CriteriaCollection;
  6. use Shopware\Core\Content\Cms\DataResolver\Element\AbstractCmsElementResolver;
  7. use Shopware\Core\Content\Cms\DataResolver\Element\ElementDataCollection;
  8. use Shopware\Core\Content\Cms\DataResolver\ResolverContext\EntityResolverContext;
  9. use Shopware\Core\Content\Cms\DataResolver\ResolverContext\ResolverContext;
  10. use Shopware\Core\Framework\Struct\ArrayStruct;
  11. use Shopware\Core\Framework\Struct\Struct;
  12. class FoundationCmsElementResolver extends AbstractCmsElementResolver
  13. {
  14.     public function getType(): string
  15.     {
  16.         throw new TypePatternException(self::class);
  17.     }
  18.     public function collect(CmsSlotEntity $slotResolverContext $resolverContext): ?CriteriaCollection
  19.     {
  20.         return null;
  21.     }
  22.     public function enrich(CmsSlotEntity $slotResolverContext $resolverContextElementDataCollection $result): void
  23.     {
  24.         $data $this->getStruct();
  25.         $slot->setData($data);
  26.         if (method_exists($data'setId') && $resolverContext instanceof EntityResolverContext) {
  27.             $data->setId($resolverContext->getEntity()->getId());
  28.         }
  29.         foreach ($slot->getFieldConfig() as $key => $config) {
  30.             if (!$config->getValue()) {
  31.                 continue;
  32.             }
  33.             $content null;
  34.             if ($config->isMapped() && $resolverContext instanceof EntityResolverContext) {
  35.                 $content $this->resolveEntityValue($resolverContext->getEntity(), $config->getValue());
  36.             } else if ($config->isStatic()) {
  37.                 $content $config->getValue();
  38.             }
  39.             $data->__set($key$content);
  40.         }
  41.     }
  42.     public function getStruct(): Struct
  43.     {
  44.         return new ArrayStruct();
  45.     }
  46. }