<?php
namespace App\Entity\Page;
use Knp\DoctrineBehaviors\Contract\Entity\TranslationInterface;
use Knp\DoctrineBehaviors\Model\Translatable\TranslationTrait;
use App\Entity\Traits\IdTrait;
use App\Entity\Traits\KeepEmptyTranslationTrait;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\String\Slugger\AsciiSlugger;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
// /**
// * @ORM\Entity
// * @ORM\Table(
// * name="page_translation",
// * uniqueConstraints={
// * @ORM\UniqueConstraint(
// * name="unique_page_url_locale",
// * columns={"url","locale"},
// * options={"where": "url IS NOT NULL"},
// * )
// * }
// * )
// */
/**
* @ORM\Entity
* @ORM\Table(
* name="page_translation",
* uniqueConstraints={}
* )
*/
class PageTranslation implements TranslationInterface
{
use IdTrait;
use TranslationTrait;
use KeepEmptyTranslationTrait;
/**
* @ORM\Column(type="string")
*/
private ?string $url;
/**
* @ORM\Column(type="string", nullable=true)
*/
private ?string $displayedTitle;
/**
* @ORM\Column(type="text", length="250", nullable=true)
*/
private ?string $displayedDescription;
public function getUrl(): ?string
{
return $this->url;
}
public function getDisplayedTitle(): ?string
{
return $this->displayedTitle;
}
public function getDisplayedDescription(): ?string
{
return $this->displayedDescription;
}
public function setUrl(?string $url,bool $slugg = true): self
{
if($slugg == true)
{
$slugger = new AsciiSlugger();
$this->url = $slugger->slug($url ?? '')->toString();
$this->url = strtolower($this->url);
}else{
$this->url = $url;
}
return $this;
}
public function setDisplayedTitle(?string $displayedTitle): self
{
$this->displayedTitle = $displayedTitle;
return $this;
}
public function setDisplayedDescription(?string $displayedDescription): self
{
$this->displayedDescription = $displayedDescription;
return $this;
}
}