<?php
namespace App\Entity;
use App\Repository\ProductTranslationRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation\Slug;
use Gedmo\Mapping\Annotation\SlugHandler;
use Gedmo\Sluggable\Handler\RelativeSlugHandler;
use Knp\DoctrineBehaviors\Contract\Entity\TranslationInterface;
use Knp\DoctrineBehaviors\Model\Translatable\TranslationTrait;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Entity(repositoryClass: ProductTranslationRepository::class)]
class ProductTranslation implements TranslationInterface
{
use TranslationTrait;
#[ORM\Id]
#[ORM\GeneratedValue(strategy: "IDENTITY")]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 150, nullable: true)]
#[Assert\NotBlank]
private ?string $name = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $additionalInfo = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $productFeatures = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $howItWorks = null;
#[ORM\Column(length: 50, nullable: true)]
#[Assert\Length(max: 50)]
private ?string $cartUnitsMessage = null;
#[ORM\Column(length: 255, nullable: true)]
#[Assert\Length(max: 255)]
private ?string $sharedPackageFormat = null;
public function getName(): ?string
{
return $this->name;
}
public function setName(?string $name): self
{
$this->name = $name;
return $this;
}
public function getAdditionalInfo(): ?string
{
return $this->additionalInfo;
}
public function setAdditionalInfo(?string $additionalInfo): self
{
$this->additionalInfo = $additionalInfo;
return $this;
}
public function getProductFeatures(): ?string
{
return $this->productFeatures;
}
public function setProductFeatures(?string $productFeatures): self
{
$this->productFeatures = $productFeatures;
return $this;
}
public function getHowItWorks(): ?string
{
return $this->howItWorks;
}
public function setHowItWorks(?string $howItWorks): self
{
$this->howItWorks = $howItWorks;
return $this;
}
public function getCartUnitsMessage(): ?string
{
return $this->cartUnitsMessage ?? $this->sharedPackageFormat ?? '';
}
public function setCartUnitsMessage(?string $cartUnitsMessage): self
{
$this->cartUnitsMessage = $cartUnitsMessage;
return $this;
}
public function getSharedPackageFormat(): ?string
{
return $this->sharedPackageFormat;
}
public function setSharedPackageFormat(?string $sharedPackageFormat): self
{
$this->sharedPackageFormat = $sharedPackageFormat;
return $this;
}
}