<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity (repositoryClass="App\Repository\WebPageBlockRepository")
*/
#[ApiResource(order: ['ordering'])]
class WebPageBlock
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\WebPage", inversedBy="blocks")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="web_page_id", referencedColumnName="id", onDelete="CASCADE")
* })
*/
private $webPage;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Block", inversedBy="webPages", cascade={"persist"})
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="block_id", referencedColumnName="id")
* })
*/
private $block;
/**
* @ORM\Column(type="string", nullable=true, length=100, options={"comment":"Code de position prédéfini (texte) (ex : TITRE, COORDONNEES, PERSO, ...)"})
*
*/
private $position;
/**
* @ORM\Column(type="integer", nullable=true, options={"comment":"Position des blocks PERSO"})
*
*/
private $ordering;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="webPageBlocks")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="owner_id", referencedColumnName="id")
* })
*/
private $owner;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\DnsitEntity", inversedBy="webPageBlocks")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="entity_id", referencedColumnName="id")
* })
*/
private $entity;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $createdAt;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $updatedAt;
/**
* @ORM\Column(type="string", length=100, nullable=true)
*/
private $blockSpecialType;
/**
* @ORM\Column(type="string", length=100, nullable=true)
*/
private $blockLabel;
/**
* @ORM\Column(type="json", nullable=true)
*/
private $blockLabelTranslations;
/**
* @ORM\Column(type="string", length=100, nullable=true)
*/
private $blockIcon;
/**
* @ORM\Column(type="json", nullable=true)
*/
private $blockColumns;
/**
* @ORM\Column(type="json", nullable=true)
*/
private $blockWidth;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $CSSClass;
/**
* @ORM\Column(type="integer", nullable=true, options={"default":0, "comment":"code de statut : 0=OK"})
*/
private $state;
/**
* @ORM\Column(type="json", nullable=true)
*/
private $parameters;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\BridgeComponent", inversedBy="webPageBlocks", cascade={"persist"})
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="bridge_component_id", referencedColumnName="id")
* })
*/
private $bridgeComponent;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\WebPageBlockGroup", inversedBy="blocks", cascade={"persist"})
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="group_id", referencedColumnName="id")
* })
*/
private $wpGroup;
/**
* @ORM\Column(type="json", nullable=true, options={"comment":"Options de visibilité"})
*/
private $visibilityOptions;
public function getId() : ?int
{
return $this->id;
}
public function getPosition() : ?string
{
return $this->position;
}
public function setPosition(?string $position) : self
{
$this->position = $position;
return $this;
}
public function getOrdering() : ?int
{
return $this->ordering;
}
public function setOrdering(?int $ordering) : self
{
$this->ordering = $ordering;
return $this;
}
public function getCSSClass() : ?string
{
return $this->CSSClass;
}
public function setCSSClass(?string $CSSClass) : self
{
$this->CSSClass = $CSSClass;
return $this;
}
public function getCreatedAt() : ?\DateTimeInterface
{
return $this->createdAt;
}
public function setCreatedAt(?\DateTimeInterface $createdAt) : self
{
$this->createdAt = $createdAt;
return $this;
}
public function getUpdatedAt() : ?\DateTimeInterface
{
return $this->updatedAt;
}
public function setUpdatedAt(?\DateTimeInterface $updatedAt) : self
{
$this->updatedAt = $updatedAt;
return $this;
}
public function getBlockLabel() : ?string
{
return $this->blockLabel;
}
public function setBlockLabel(?string $blockLabel) : self
{
$this->blockLabel = $blockLabel;
return $this;
}
public function getBlockLabelTranslations() : ?array
{
return $this->blockLabelTranslations;
}
public function setBlockLabelTranslations(?array $blockLabelTranslations) : self
{
$this->blockLabelTranslations = $blockLabelTranslations;
return $this;
}
public function getBlockIcon() : ?string
{
return $this->blockIcon;
}
public function setBlockIcon(?string $blockIcon) : self
{
$this->blockIcon = $blockIcon;
return $this;
}
public function getBlockColumns() : ?array
{
return $this->blockColumns;
}
public function setBlockColumns(?array $blockColumns) : self
{
$this->blockColumns = $blockColumns;
return $this;
}
public function getBlockWidth() : ?array
{
return $this->blockWidth;
}
public function setBlockWidth(?array $blockWidth) : self
{
$this->blockWidth = $blockWidth;
return $this;
}
public function getState() : ?int
{
return $this->state;
}
public function setState(?int $state) : self
{
$this->state = $state;
return $this;
}
public function getWebPage() : ?WebPage
{
return $this->webPage;
}
public function setWebPage(?WebPage $webPage) : self
{
$this->webPage = $webPage;
return $this;
}
public function getBlock() : ?Block
{
return $this->block;
}
public function setBlock(?Block $block) : self
{
$this->block = $block;
return $this;
}
public function getOwner() : ?User
{
return $this->owner;
}
public function setOwner(?User $owner) : self
{
$this->owner = $owner;
return $this;
}
public function getEntity() : ?DnsitEntity
{
return $this->entity;
}
public function setEntity(?DnsitEntity $entity) : self
{
$this->entity = $entity;
return $this;
}
public function getBlockSpecialType() : ?string
{
return $this->blockSpecialType;
}
public function setBlockSpecialType(?string $blockSpecialType) : self
{
$this->blockSpecialType = $blockSpecialType;
return $this;
}
public function getParameters() : ?array
{
return $this->parameters;
}
public function setParameters(?array $parameters) : self
{
$this->parameters = $parameters;
return $this;
}
public function getBridgeComponent() : ?BridgeComponent
{
return $this->bridgeComponent;
}
public function setBridgeComponent(?BridgeComponent $bridgeComponent) : self
{
$this->bridgeComponent = $bridgeComponent;
return $this;
}
public function getWpGroup() : ?WebPageBlockGroup
{
return $this->wpGroup;
}
public function setWpGroup(?WebPageBlockGroup $group) : self
{
$this->wpGroup = $group;
return $this;
}
public function getVisibilityOptions() : ?array
{
return $this->visibilityOptions;
}
public function setVisibilityOptions(?array $visibilityOptions) : self
{
$this->visibilityOptions = $visibilityOptions;
return $this;
}
}