src/AppBundle/Entity/ComponenteCatalogo.php line 15

  1. <?php
  2. namespace AppBundle\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Symfony\Component\Validator\Constraints as Assert;
  5. /**
  6.  * Componente.
  7.  *
  8.  * @ORM\Table(name="componente")
  9.  * @ORM\Entity(repositoryClass="AppBundle\Repository\ComponenteRepository")
  10.  * @ORM\HasLifecycleCallbacks()
  11.  */
  12. class ComponenteCatalogo extends Componente
  13. {
  14.     /**
  15.      * @Assert\NotBlank
  16.      */
  17.     private $titulo;
  18.     /**
  19.      * @Assert\NotBlank
  20.      */
  21.     private $nodos;
  22.     private $imagenIcono;
  23.     /**
  24.      * Get the value of icono imagen
  25.      */
  26.     public function getImagenIcono()
  27.     {
  28.         return $this->imagenIcono;
  29.     }
  30.     /**
  31.      * Get the value of titulo
  32.      */
  33.     public function getTitulo()
  34.     {
  35.         return $this->titulo;
  36.     }
  37.     /**
  38.      * Set the value of icono imagen
  39.      */
  40.     public function setImagenIcono($filename)
  41.     {
  42.         $this->imagenIcono $filename;
  43.         return $this;
  44.     }
  45.     /**
  46.      * Set the value of titulo
  47.      *
  48.      * @return  self
  49.      */
  50.     public function setTitulo($titulo)
  51.     {
  52.         $this->titulo $titulo;
  53.         return $this;
  54.     }
  55.     /**
  56.      * Get the value of nodos
  57.      */
  58.     public function getNodos()
  59.     {
  60.         return $this->nodos;
  61.     }
  62.     /**
  63.      * Set the value of nodos
  64.      *
  65.      * @return  self
  66.      */
  67.     public function setNodos($nodos)
  68.     {
  69.         $this->nodos $nodos;
  70.         return $this;
  71.     }
  72.     public function _toComponente()
  73.     {
  74.         $componente = new Componente();
  75.         $nodos = [];
  76.         foreach($this->nodos as $n) {
  77.             $nodos[] = $n->getId();
  78.         }
  79.         $componente
  80.             ->setId($this->id)
  81.             ->setOrden($this->orden)
  82.             ->setVisibilidad($this->visibilidad)
  83.             ->setFullWidth($this->fullWidth)
  84.             ->setDescripcion($this->descripcion)
  85.             ->setTipoId($this->tipoId)
  86.             ->setTipo($this->tipo)
  87.             ->setMobile($this->isMobile())
  88.             ->setConfiguracion(
  89.                 json_encode(
  90.                     [
  91.                         'titulo' => $this->titulo,
  92.                         'nodos' => implode(',',$nodos),
  93.                         'imagen' => $this->imagenIcono
  94.                     ]
  95.                 )
  96.             );
  97.         return $componente;
  98.     }
  99. }