src/AppBundle/Entity/SubFamilia.php line 16

  1. <?php
  2. namespace AppBundle\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Symfony\Component\String\Slugger\AsciiSlugger;
  6. /**
  7.  * SubFamilia.
  8.  *
  9.  * @ORM\Table(name="sub_familia")
  10.  * @ORM\Entity(repositoryClass="AppBundle\Repository\SubFamiliaRepository")
  11.  * @ORM\HasLifecycleCallbacks()
  12.  */
  13. class SubFamilia
  14. {
  15.     /**
  16.      * @var int
  17.      *
  18.      * @ORM\Column(name="id", type="string", length=3, options={"fixed" = true})
  19.      * @ORM\Id
  20.      */
  21.     private $id;
  22.     /**
  23.      * @var string
  24.      *
  25.      * @ORM\Column(name="nombre_es", type="string", length=255)
  26.      */
  27.     private $nombreEs;
  28.      /**
  29.      * @var string
  30.      *
  31.      * @ORM\Column(name="nombre_abre_es", type="string", length=255)
  32.      */
  33.     private $nombreAbreEs;
  34.     /**
  35.      * @var string
  36.      *
  37.      * @ORM\Column(name="nombre_en", type="string", length=255)
  38.      */
  39.     private $nombreEn;
  40.      /**
  41.      * @var string
  42.      *
  43.      * @ORM\Column(name="nombre_abre_en", type="string", length=255)
  44.      */
  45.     private $nombreAbreEn;
  46.     /**
  47.      * @var string
  48.      *
  49.      * @ORM\Column(name="slug_es", type="string", length=255)
  50.      */
  51.     private $slugEs;
  52.     /**
  53.      * @var string
  54.      *
  55.      * @ORM\Column(name="slug_en", type="string", length=255)
  56.      */
  57.     private $slugEn;
  58.     /**
  59.      * @var string
  60.      *
  61.      * @ORM\Column(name="ficha", type="string", length=100)
  62.      */
  63.     private $ficha;
  64.     /**
  65.      * @var string
  66.      *
  67.      * @ORM\Column(name="plano", type="string", length=100)
  68.      */
  69.     private $plano;
  70.     /**
  71.      * @var string
  72.      *
  73.      * @ORM\Column(name="video", type="string", length=100)
  74.      */
  75.     private $video;
  76.     /**
  77.      * @var string
  78.      *
  79.      * @ORM\Column(name="foto1", type="string", length=100)
  80.      */
  81.     private $foto1;
  82.     /**
  83.      * @var string
  84.      *
  85.      * @ORM\Column(name="foto2", type="string", length=100)
  86.      */
  87.     private $foto2;
  88.     /**
  89.      * @var string
  90.      *
  91.      * @ORM\Column(name="foto3", type="string", length=100)
  92.      */
  93.     private $foto3;
  94.     /**
  95.      * @var string
  96.      *
  97.      * @ORM\Column(name="foto4", type="string", length=100)
  98.      */
  99.     private $foto4;
  100.     /**
  101.      * @var text
  102.      *
  103.      * @ORM\Column(name="texto_explica_es", type="text")
  104.      */
  105.     private $textoExplicaEs;
  106.     /**
  107.      * @var text
  108.      *
  109.      * @ORM\Column(name="texto_explica_en", type="text")
  110.      */
  111.     private $textoExplicaEn;
  112.     /**
  113.      * @var string
  114.      *
  115.      * @ORM\Column(name="texto_ext_es", type="text")
  116.      */
  117.     private $textoExtEs;
  118.     /**
  119.      * @var string
  120.      *
  121.      * @ORM\Column(name="texto_ext_en", type="text")
  122.      */
  123.     private $textoExtEn;
  124.     /**
  125.      * @ORM\ManyToOne(targetEntity="Familia", inversedBy="subfamilias")
  126.      * @ORM\JoinColumn(name="familia_id", referencedColumnName="id")
  127.      */
  128.     protected $familia;
  129.     /**
  130.      * @ORM\OneToMany(targetEntity="Producto", mappedBy="subFamilia")
  131.      */
  132.     protected $productos;
  133.     /**
  134.      * @ORM\OneToMany(targetEntity="GrupoMultimedia", mappedBy="subFamilia")
  135.      */
  136.     protected $gruposMultimedia;
  137.     /**
  138.      * @var bool
  139.      *
  140.      * @ORM\Column(name="eliminado", type="boolean")
  141.      */
  142.     private $eliminado false;
  143.     /**
  144.      * @var bool
  145.      *
  146.      * @ORM\Column(name="en_catalogo", type="boolean")
  147.      */
  148.     private $enCatalogo false;
  149.     public function __construct()
  150.     {
  151.         $this->productos = new ArrayCollection();
  152.     }
  153.     /**
  154.      * Set id.
  155.      *
  156.      * @param string $id
  157.      *
  158.      * @return SubFamilia
  159.      */
  160.     public function setId($id)
  161.     {
  162.         $this->id $id;
  163.         return $this;
  164.     }
  165.     /**
  166.      * Get id.
  167.      *
  168.      * @return int
  169.      */
  170.     public function getId()
  171.     {
  172.         return $this->id;
  173.     }
  174.     /**
  175.      * Set nombreEs.
  176.      *
  177.      * @param string $nombreEs
  178.      *
  179.      * @return SubFamilia
  180.      */
  181.     public function setNombreEs($nombreEs)
  182.     {
  183.         $this->nombreEs $nombreEs;
  184.         return $this;
  185.     }
  186.     /**
  187.      * Get nombreEs.
  188.      *
  189.      * @return string
  190.      */
  191.     public function getNombreEs()
  192.     {
  193.         return $this->nombreEs;
  194.     }
  195.     /**
  196.      * Set nombreAbreEs.
  197.      *
  198.      * @param string $nombreAbreEs
  199.      *
  200.      * @return SubFamilia
  201.      */
  202.     public function setnombreAbreEs($nombreAbreEs)
  203.     {
  204.         $this->nombreAbreEs $nombreAbreEs;
  205.         return $this;
  206.     }
  207.     /**
  208.      * Get nombreEs.
  209.      *
  210.      * @return string
  211.      */
  212.     public function getnombreAbreEs()
  213.     {
  214.         return $this->nombreAbreEs;
  215.     }
  216.     /**
  217.      * Set nombreEn.
  218.      *
  219.      * @param string $nombreEn
  220.      *
  221.      * @return SubFamilia
  222.      */
  223.     public function setNombreEn($nombreEn)
  224.     {
  225.         $this->nombreEn $nombreEn;
  226.         return $this;
  227.     }
  228.     /**
  229.      * Get nombreEn.
  230.      *
  231.      * @return string
  232.      */
  233.     /**
  234.      * Set nombreAbreEn.
  235.      *
  236.      * @param string $nombreAbreEn
  237.      *
  238.      * @return SubFamilia
  239.      */
  240.     public function setnombreAbreEn($nombreAbreEn)
  241.     {
  242.         $this->nombreAbreEn $nombreAbreEn;
  243.         return $this;
  244.     }
  245.     /**
  246.      * Get nombreAbreEn.
  247.      *
  248.      * @return string
  249.      */
  250.     public function getnombreAbreEn()
  251.     {
  252.         return $this->nombreAbreEn;
  253.     }
  254.     /**
  255.      * Set familia.
  256.      *
  257.      * @param \AppBundle\Entity\Familia $familia
  258.      *
  259.      * @return SubFamilia
  260.      */
  261.     public function setFamilia(\AppBundle\Entity\Familia $familia null)
  262.     {
  263.         $this->familia $familia;
  264.         return $this;
  265.     }
  266.     /**
  267.      * Get familia.
  268.      *
  269.      * @return \AppBundle\Entity\Familia
  270.      */
  271.     public function getFamilia()
  272.     {
  273.         return $this->familia;
  274.     }
  275.     /**
  276.      * Get categoria.
  277.      */
  278.     public function getCategoria()
  279.     {
  280.         return ($this->familia->getCategorias())[0];
  281.     }
  282.     /**
  283.      * Add producto.
  284.      *
  285.      * @param \AppBundle\Entity\Producto $producto
  286.      *
  287.      * @return SubFamilia
  288.      */
  289.     public function addProducto(\AppBundle\Entity\Producto $producto)
  290.     {
  291.         $this->productos[] = $producto;
  292.         return $this;
  293.     }
  294.     /**
  295.      * Remove producto.
  296.      *
  297.      * @param \AppBundle\Entity\Producto $producto
  298.      */
  299.     public function removeProducto(\AppBundle\Entity\Producto $producto)
  300.     {
  301.         $this->productos->removeElement($producto);
  302.     }
  303.     /**
  304.      * Get productos.
  305.      *
  306.      * @return \Doctrine\Common\Collections\Collection
  307.      */
  308.     public function getProductos()
  309.     {
  310.         return $this->productos;
  311.     }
  312.     /**
  313.      * Set slugEs.
  314.      *
  315.      * @ORM\PreUpdate
  316.      * @ORM\PrePersist
  317.      *
  318.      * @param string $slugEs
  319.      *
  320.      * @return SubFamilia
  321.      */
  322.     public function setSlugEs()
  323.     {
  324.         $slugify = new AsciiSlugger();
  325.         $this->slugEs $slugify->slug($this->nombreEs)->lower();
  326.         return $this;
  327.     }
  328.     /**
  329.      * Get slugEs.
  330.      *
  331.      * @return string
  332.      */
  333.     public function getSlugEs()
  334.     {
  335.         return $this->slugEs;
  336.     }
  337.     /**
  338.      * Set slugEn.
  339.      *
  340.      * @ORM\PreUpdate
  341.      * @ORM\PrePersist
  342.      *
  343.      * @param string $slugEn
  344.      *
  345.      * @return SubFamilia
  346.      */
  347.     public function setSlugEn()
  348.     {
  349.         $slugify = new AsciiSlugger();
  350.         $this->slugEn $slugify->slug($this->nombreEn)->lower();
  351.         return $this;
  352.     }
  353.     /**
  354.      * Get slugEn.
  355.      *
  356.      * @return string
  357.      */
  358.     public function getSlugEn()
  359.     {
  360.         return $this->slugEn;
  361.     }
  362.     /**
  363.      * Set ficha.
  364.      *
  365.      * @param string $ficha
  366.      *
  367.      * @return SubFamilia
  368.      */
  369.     public function setFicha($ficha)
  370.     {
  371.         $this->ficha $ficha;
  372.         return $this;
  373.     }
  374.     /**
  375.      * Get ficha.
  376.      *
  377.      * @return string
  378.      */
  379.     public function getFicha()
  380.     {
  381.         return $this->ficha;
  382.     }
  383.     /**
  384.      * Set foto1.
  385.      *
  386.      * @param string $foto1
  387.      *
  388.      * @return foto1
  389.      */
  390.     public function setFoto1($foto1)
  391.     {
  392.         $this->foto1 $foto1;
  393.         return $this;
  394.     }
  395.     /**
  396.      * Get foto1.
  397.      *
  398.      * @return string
  399.      */
  400.     public function getFoto1()
  401.     {
  402.         return $this->foto1;
  403.     }
  404.     /**
  405.      * Set foto2.
  406.      *
  407.      * @param string $foto2
  408.      *
  409.      * @return foto2
  410.      */
  411.     public function setFoto2($foto2)
  412.     {
  413.         $this->foto2 $foto2;
  414.         return $this;
  415.     }
  416.     /**
  417.      * Get foto2.
  418.      *
  419.      * @return string
  420.      */
  421.     public function getFoto2()
  422.     {
  423.         return $this->foto2;
  424.     }
  425.     /**
  426.      * Set foto3.
  427.      *
  428.      * @param string $foto3
  429.      *
  430.      * @return foto3
  431.      */
  432.     public function setFoto3($foto3)
  433.     {
  434.         $this->foto3 $foto3;
  435.         return $this;
  436.     }
  437.     /**
  438.      * Get foto3.
  439.      *
  440.      * @return string
  441.      */
  442.     public function getFoto3()
  443.     {
  444.         return $this->foto3;
  445.     }
  446.     /**
  447.      * Set foto4.
  448.      *
  449.      * @param string $foto4
  450.      *
  451.      * @return foto4
  452.      */
  453.     public function setFoto4($foto4)
  454.     {
  455.         $this->foto4 $foto4;
  456.         return $this;
  457.     }
  458.     /**
  459.      * Get foto4.
  460.      *
  461.      * @return string
  462.      */
  463.     public function getFoto4()
  464.     {
  465.         return $this->foto4;
  466.     }
  467.     /**
  468.      * Set textoExplicaEs.
  469.      *
  470.      * @param string $textoExplicaEs
  471.      *
  472.      * @return textoExplicaEs
  473.      */
  474.     public function setTextoExplicaEs($textoExplicaEs)
  475.     {
  476.         $this->textoExplicaEs $textoExplicaEs;
  477.         return $this;
  478.     }
  479.     /**
  480.      * Get textoExplicaEs.
  481.      *
  482.      * @return string
  483.      */
  484.     public function getTextoExplicaEs()
  485.     {
  486.         return $this->textoExplicaEs;
  487.     }
  488.     /**
  489.      * Set textoExplicaEn.
  490.      *
  491.      * @param string $textoExplicaEn
  492.      *
  493.      * @return textoExplicaEn
  494.      */
  495.     public function setTextoExplicaEn($textoExplicaEn)
  496.     {
  497.         $this->textoExplicaEn $textoExplicaEn;
  498.         return $this;
  499.     }
  500.     /**
  501.      * Get textoExplicaEn.
  502.      *
  503.      * @return string
  504.      */
  505.     public function getTextoExplicaEn()
  506.     {
  507.         return $this->textoExplicaEn;
  508.     }
  509.     /**
  510.      * Set eliminado.
  511.      *
  512.      * @param bool $eliminado
  513.      *
  514.      * @return Producto
  515.      */
  516.     public function setEliminado($eliminado)
  517.     {
  518.         $this->eliminado $eliminado;
  519.         return $this;
  520.     }
  521.     /**
  522.      * Get eliminado.
  523.      *
  524.      * @return bool
  525.      */
  526.     public function getEliminado()
  527.     {
  528.         return $this->eliminado;
  529.     }
  530.     public function getTextoExtEs() {
  531.         return $this->textoExtEs;
  532.     }
  533.     public function setTextoExtEs($textoExtEs) {
  534.         $this->textoExtEs $textoExtEs;
  535.         return $this;
  536.     }
  537.     public function getTextoExtEn() {
  538.         return $this->textoExtEn;
  539.     }
  540.     public function setTextoExtEn($textoExtEn) {
  541.         $this->textoExtEn $textoExtEn;
  542.         return $this;
  543.     }
  544.     public function getEnCatalogo() {
  545.         return $this->enCatalogo;
  546.     }
  547.     public function setEnCatalogo($enCatalogo) {
  548.         $this->enCatalogo $enCatalogo;
  549.         return $this;
  550.     }
  551.     public function toggleCatalogo()
  552.     {
  553.         $this->setEnCatalogo(!$this->getEnCatalogo());
  554.         return $this;
  555.     }
  556.     public function getImagenes() {
  557.         $imagenes = [];
  558.         if ($this->getFoto1()) {
  559.             $imagenes[] = $this->getFoto1();
  560.         }
  561.         if ($this->getFoto2()) {
  562.             $imagenes[] = $this->getFoto2();
  563.         }
  564.         if ($this->getFoto3()) {
  565.             $imagenes[] = $this->getFoto3();
  566.         }
  567.         if ($this->getFoto4()) {
  568.             $imagenes[] = $this->getFoto4();
  569.         }
  570.         return $imagenes;
  571.     }
  572.     /**
  573.      * Set plano
  574.      *
  575.      * @param string $plano
  576.      *
  577.      * @return SubFamilia
  578.      */
  579.     public function setPlano($plano)
  580.     {
  581.         $this->plano $plano;
  582.         return $this;
  583.     }
  584.     /**
  585.      * Get plano
  586.      *
  587.      * @return string
  588.      */
  589.     public function getPlano()
  590.     {
  591.         return $this->plano;
  592.     }
  593.     /**
  594.      * Set video
  595.      *
  596.      * @param string $video
  597.      *
  598.      * @return SubFamilia
  599.      */
  600.     public function setVideo($video)
  601.     {
  602.         $this->video $video;
  603.         return $this;
  604.     }
  605.     /**
  606.      * Get video
  607.      *
  608.      * @return string
  609.      */
  610.     public function getVideo()
  611.     {
  612.         return $this->video;
  613.     }
  614.     /**
  615.      * Add gruposMultimedia
  616.      *
  617.      * @param \AppBundle\Entity\GrupoMultimedia $gruposMultimedia
  618.      *
  619.      * @return SubFamilia
  620.      */
  621.     public function addGruposMultimedia(\AppBundle\Entity\GrupoMultimedia $gruposMultimedia)
  622.     {
  623.         $this->gruposMultimedia[] = $gruposMultimedia;
  624.         return $this;
  625.     }
  626.     /**
  627.      * Remove gruposMultimedia
  628.      *
  629.      * @param \AppBundle\Entity\GrupoMultimedia $gruposMultimedia
  630.      */
  631.     public function removeGruposMultimedia(\AppBundle\Entity\GrupoMultimedia $gruposMultimedia)
  632.     {
  633.         $this->gruposMultimedia->removeElement($gruposMultimedia);
  634.     }
  635.     /**
  636.      * Get gruposMultimedia
  637.      *
  638.      * @return \Doctrine\Common\Collections\Collection
  639.      */
  640.     public function getGruposMultimedia()
  641.     {
  642.         return $this->gruposMultimedia;
  643.     }
  644. }