src/AppBundle/Entity/ComponenteCarousel.php line 20

  1. <?php
  2. namespace AppBundle\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Symfony\Component\DependencyInjection\Container;
  7. use Symfony\Component\Validator\Constraints as Assert;
  8. use Symfony\Component\Filesystem\Filesystem as File;
  9. /**
  10.  * Componente.
  11.  *
  12.  * @ORM\Table(name="componente")
  13.  * @ORM\Entity(repositoryClass="AppBundle\Repository\ComponenteRepository")
  14.  * @ORM\HasLifecycleCallbacks()
  15.  */
  16. class ComponenteCarousel extends Componente
  17. {
  18.     /**
  19.      * @Assert\NotBlank
  20.      */
  21.     private $titulo;
  22.     /**
  23.      * @Assert\Count(
  24.      *      min = 1,
  25.      *      minMessage = "De cargar al menos una imagen",
  26.      * )
  27.      */
  28.     protected $items = [];
  29.     public function __construct()
  30.     {
  31.         $this->items = new ArrayCollection();
  32.     }
  33.     /**
  34.      * Get the value of titulo
  35.      */
  36.     public function getTitulo()
  37.     {
  38.         return $this->titulo;
  39.     }
  40.     /**
  41.      * Set the value of titulo
  42.      *
  43.      * @return  self
  44.      */
  45.     public function setTitulo($titulo)
  46.     {
  47.         $this->titulo $titulo;
  48.         return $this;
  49.     }
  50.     public function addItem(ComponenteItem $item) {
  51.         $this->items->add($item);
  52.         return $this;
  53.     }
  54.     public function removeItem(ComponenteItem $item)
  55.     {
  56.         $this->items->removeElement($item);
  57.     }
  58.     public function getItems() {
  59.         return $this->items;
  60.     }
  61.     public function _toComponente()
  62.     {
  63.         $componente = new Componente();
  64.         $componente
  65.             ->setId($this->id)
  66.             ->setOrden($this->orden)
  67.             ->setVisibilidad($this->visibilidad)
  68.             ->setFullWidth($this->fullWidth)
  69.             ->setDescripcion($this->descripcion)
  70.             ->setTipoId($this->tipoId)
  71.             ->setTipo($this->tipo)
  72.             ->setMobile($this->isMobile())
  73.             ->setConfiguracion(
  74.                 json_encode(
  75.                     [
  76.                         'titulo' => $this->titulo,
  77.                         'items' => []
  78.                     ]
  79.                 )
  80.             );
  81.         return $componente;
  82.     }
  83. }