src/Entity/Page/PageTranslation.php line 34

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Page;
  3. use Knp\DoctrineBehaviors\Contract\Entity\TranslationInterface;
  4. use Knp\DoctrineBehaviors\Model\Translatable\TranslationTrait;
  5. use App\Entity\Traits\IdTrait;
  6. use App\Entity\Traits\KeepEmptyTranslationTrait;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use Symfony\Component\String\Slugger\AsciiSlugger;
  9. use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
  10. // /**
  11. //  * @ORM\Entity
  12. //  * @ORM\Table(
  13. //  *      name="page_translation",
  14. //  *      uniqueConstraints={
  15. //  *          @ORM\UniqueConstraint(
  16. //  *              name="unique_page_url_locale",
  17. //  *              columns={"url","locale"},
  18. //  *              options={"where": "url IS NOT NULL"},
  19. //  *          )
  20. //  *      }
  21. //  * )
  22. //  */
  23. /**
  24.  * @ORM\Entity
  25.  * @ORM\Table(
  26.  *      name="page_translation",
  27.  *      uniqueConstraints={}
  28.  * )
  29.  */
  30. class PageTranslation implements TranslationInterface
  31. {
  32.     use IdTrait;
  33.     use TranslationTrait;
  34.     use KeepEmptyTranslationTrait;
  35.     /**
  36.      * @ORM\Column(type="string")
  37.      */
  38.     private ?string $url;
  39.     /**
  40.      * @ORM\Column(type="string", nullable=true)
  41.      */
  42.     private ?string $displayedTitle;
  43.      /**
  44.     * @ORM\Column(type="text", length="250", nullable=true)
  45.     */
  46.     private ?string $displayedDescription;
  47.     public function getUrl(): ?string
  48.     {
  49.         return $this->url;
  50.     }
  51.     public function getDisplayedTitle(): ?string
  52.     {
  53.         return $this->displayedTitle;
  54.     }
  55.     public function getDisplayedDescription(): ?string
  56.     {
  57.         return $this->displayedDescription;
  58.     }
  59.     public function setUrl(?string $url,bool $slugg = true): self
  60.     {
  61.         if($slugg == true)
  62.         {
  63.             $slugger = new AsciiSlugger();
  64.             $this->url = $slugger->slug($url ?? '')->toString();
  65.             $this->url = strtolower($this->url);
  66.         }else{
  67.             $this->url = $url;
  68.         }   
  69.         return $this;
  70.     }
  71.     public function setDisplayedTitle(?string $displayedTitle): self
  72.     {
  73.         $this->displayedTitle = $displayedTitle;
  74.         return $this;
  75.     }
  76.     public function setDisplayedDescription(?string $displayedDescription): self
  77.     {
  78.         $this->displayedDescription = $displayedDescription;
  79.         return $this;
  80.     }
  81. }