<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity (repositoryClass="App\Repository\EditionModeleRubriqueZoneRepository")
*/
class EditionModeleRubriqueZone
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\EditionModeleRubrique", inversedBy="zones")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="rubrique_id", referencedColumnName="id", onDelete="CASCADE")
* })
*/
private $rubrique;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\EditionModeleRubriqueDynamiqueModele", inversedBy="zones")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="rubrique_dynamique_modele_id", referencedColumnName="id", onDelete="CASCADE")
* })
*/
private $rubriqueDynamiqueModele;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\EditionTemplateGabaritZone", inversedBy="rubriqueZones")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="template_zone_id", referencedColumnName="id", onDelete="SET NULL")
* })
*/
private $templateZone;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $ordering;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Block", inversedBy="editionRubriqueZones")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="block_id", referencedColumnName="id")
* })
*/
private $block;
/**
* @ORM\OneToMany(targetEntity="App\Entity\EditionModeleRubriqueZoneParameter", mappedBy="rubriqueZone")
*/
private $parameters;
/**
* @ORM\Column(type="json", nullable=true, options={"comment":"Options daffichage en json: proprietes CSS en CamelCase"})
*/
private $displayOptions;
/**
* @ORM\Column(type="json", nullable=true, options={"comment":"Options de visibilité"})
*/
private $visibilityOptions;
public function __construct()
{
$this->parameters = new ArrayCollection();
}
public function getId() : ?int
{
return $this->id;
}
public function getOrdering() : ?int
{
return $this->ordering;
}
public function setOrdering(?int $ordering) : self
{
$this->ordering = $ordering;
return $this;
}
public function getRubrique() : ?EditionModeleRubrique
{
return $this->rubrique;
}
public function setRubrique(?EditionModeleRubrique $rubrique) : self
{
$this->rubrique = $rubrique;
return $this;
}
public function getRubriqueDynamiqueModele() : ?EditionModeleRubriqueDynamiqueModele
{
return $this->rubriqueDynamiqueModele;
}
public function setRubriqueDynamiqueModele(?EditionModeleRubriqueDynamiqueModele $rubrique) : self
{
$this->rubriqueDynamiqueModele = $rubrique;
return $this;
}
public function getTemplateZone() : ?EditionTemplateGabaritZone
{
return $this->templateZone;
}
public function setTemplateZone(?EditionTemplateGabaritZone $templateZone) : self
{
$this->templateZone = $templateZone;
return $this;
}
public function getBlock() : ?Block
{
return $this->block;
}
public function setBlock(?Block $block) : self
{
$this->block = $block;
return $this;
}
/**
* @return Collection|EditionModeleRubriqueZoneParameter[]
*/
public function getParameters() : Collection
{
return $this->parameters;
}
public function addParameter(EditionModeleRubriqueZoneParameter $parameter) : self
{
if (!$this->parameters->contains($parameter)) {
$this->parameters[] = $parameter;
$parameter->setRubriqueZone($this);
}
return $this;
}
public function removeParameter(EditionModeleRubriqueZoneParameter $parameter) : self
{
if ($this->parameters->contains($parameter)) {
$this->parameters->removeElement($parameter);
// set the owning side to null (unless already changed)
if ($parameter->getRubriqueZone() === $this) {
$parameter->setRubriqueZone(null);
}
}
return $this;
}
public function getDisplayOptions() : ?array
{
return $this->displayOptions;
}
public function setDisplayOptions(?array $displayOptions) : self
{
$this->displayOptions = $displayOptions;
return $this;
}
public function getVisibilityOptions() : ?array
{
return $this->visibilityOptions;
}
public function setVisibilityOptions(?array $visibilityOptions) : self
{
$this->visibilityOptions = $visibilityOptions;
return $this;
}
}