<?php namespace Lc\ShopBundle\Model; use Doctrine\ORM\Mapping as ORM; use Gedmo\Mapping\Annotation as Gedmo; use Lc\ShopBundle\Context\SeoInterface; use Lc\ShopBundle\Context\SluggableInterface; use Lc\ShopBundle\Context\SortableInterface; use Lc\ShopBundle\Context\StatusInterface; use Symfony\Component\HttpFoundation\File\File; use Vich\UploaderBundle\Mapping\Annotation as Vich; /** * @ORM\MappedSuperclass * @Vich\Uploadable */ abstract class AbstractDocumentEntity extends AbstractEntity implements StatusInterface, SortableInterface, SluggableInterface, SeoInterface { use SortableTrait; use StatusTrait; use SluggableTrait; use SeoTrait; /** * @ORM\Column(type="string", length=255) */ protected $title; /** * @ORM\Column(type="text", nullable=true) */ protected $description; /** * @ORM\Column(type="string", length=255, nullable=true) */ protected $image; /** * @Vich\UploadableField(mapping="images", fileNameProperty="image") * @var File */ protected $imageFile; /** * @ORM\Column(type="string", length=255, nullable=true) */ protected $devAlias; public function setImageFile(File $image = null) { $this->imageFile = $image; // VERY IMPORTANT: // It is required that at least one field changes if you are using Doctrine, // otherwise the event listeners won't be called and the file is lost if ($image) { // if 'updatedAt' is not defined in your entity, use another property $this->updatedAt = new \DateTime('now'); } } public function getImageFile() { return $this->imageFile; } public function getTitle(): ?string { return $this->title; } public function setTitle(string $title): self { $this->title = $title; return $this; } public function getDescription(): ?string { return $this->description; } public function setDescription(?string $description): self { $this->description = $description; return $this; } public function getImage(): ?string { return $this->image; } public function setImage(?string $image): self { $this->image = $image; return $this; } public function getDevAlias(): ?string { return $this->devAlias; } public function setDevAlias(?string $devAlias): self { $this->devAlias = $devAlias; return $this; } }