vendor/shopware/core/Content/Cms/Aggregate/CmsSlot/CmsSlotEntity.php line 13

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Shopware\Core\Content\Cms\Aggregate\CmsSlot;
  3. use Shopware\Core\Content\Cms\Aggregate\CmsBlock\CmsBlockEntity;
  4. use Shopware\Core\Content\Cms\DataResolver\FieldConfig;
  5. use Shopware\Core\Content\Cms\DataResolver\FieldConfigCollection;
  6. use Shopware\Core\Framework\DataAbstractionLayer\Entity;
  7. use Shopware\Core\Framework\DataAbstractionLayer\EntityCollection;
  8. use Shopware\Core\Framework\DataAbstractionLayer\EntityIdTrait;
  9. use Shopware\Core\Framework\Struct\Struct;
  10. class CmsSlotEntity extends Entity
  11. {
  12.     use EntityIdTrait;
  13.     /**
  14.      * @var string
  15.      */
  16.     protected $type;
  17.     /**
  18.      * @var string
  19.      */
  20.     protected $slot;
  21.     /**
  22.      * @var CmsBlockEntity|null
  23.      */
  24.     protected $block;
  25.     /**
  26.      * @var string
  27.      */
  28.     protected $blockId;
  29.     /**
  30.      * @var array|null
  31.      */
  32.     protected $config;
  33.     /**
  34.      * @var FieldConfigCollection|null
  35.      *
  36.      * @internal
  37.      */
  38.     protected $fieldConfig;
  39.     /**
  40.      * @var EntityCollection|null
  41.      */
  42.     protected $translations;
  43.     /**
  44.      * @var array|null
  45.      */
  46.     protected $customFields;
  47.     /**
  48.      * @var Struct|null
  49.      */
  50.     protected $data;
  51.     /**
  52.      * @var bool
  53.      */
  54.     protected $locked;
  55.     public function getType(): string
  56.     {
  57.         return $this->type;
  58.     }
  59.     public function setType(string $type): void
  60.     {
  61.         $this->type $type;
  62.     }
  63.     public function getSlot(): string
  64.     {
  65.         return $this->slot;
  66.     }
  67.     public function setSlot(string $slot): void
  68.     {
  69.         $this->slot $slot;
  70.     }
  71.     public function getBlock(): ?CmsBlockEntity
  72.     {
  73.         return $this->block;
  74.     }
  75.     public function setBlock(CmsBlockEntity $block): void
  76.     {
  77.         $this->block $block;
  78.     }
  79.     public function getBlockId(): string
  80.     {
  81.         return $this->blockId;
  82.     }
  83.     public function setBlockId(string $blockId): void
  84.     {
  85.         $this->blockId $blockId;
  86.     }
  87.     public function getConfig(): ?array
  88.     {
  89.         return $this->config;
  90.     }
  91.     public function setConfig(array $config): void
  92.     {
  93.         $this->config $config;
  94.         $this->fieldConfig null;
  95.     }
  96.     public function getTranslations(): ?EntityCollection
  97.     {
  98.         return $this->translations;
  99.     }
  100.     public function setTranslations(EntityCollection $translations): void
  101.     {
  102.         $this->translations $translations;
  103.     }
  104.     public function getCustomFields(): ?array
  105.     {
  106.         return $this->customFields;
  107.     }
  108.     public function setCustomFields(?array $customFields): void
  109.     {
  110.         $this->customFields $customFields;
  111.     }
  112.     public function getData(): ?Struct
  113.     {
  114.         return $this->data;
  115.     }
  116.     public function setData(Struct $data): void
  117.     {
  118.         $this->data $data;
  119.     }
  120.     public function getLocked(): bool
  121.     {
  122.         return $this->locked;
  123.     }
  124.     public function setLocked(bool $locked): void
  125.     {
  126.         $this->locked $locked;
  127.     }
  128.     public function getFieldConfig(): FieldConfigCollection
  129.     {
  130.         if ($this->fieldConfig) {
  131.             return $this->fieldConfig;
  132.         }
  133.         $collection = new FieldConfigCollection();
  134.         $config $this->getTranslation('config') ?? [];
  135.         foreach ($config as $key => $value) {
  136.             $collection->add(
  137.                 new FieldConfig($key$value['source'], $value['value'])
  138.             );
  139.         }
  140.         return $this->fieldConfig $collection;
  141.     }
  142.     public function setFieldConfig(FieldConfigCollection $fieldConfig): void
  143.     {
  144.         $this->fieldConfig $fieldConfig;
  145.     }
  146.     public function getApiAlias(): string
  147.     {
  148.         return 'cms_page_slot';
  149.     }
  150. }