You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ProductCategoryInterface.php 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. namespace Lc\CaracoleBundle\Model\Product;
  3. use Doctrine\Common\Collections\Collection;
  4. use Lc\CaracoleBundle\Model\Section\SectionInterface;
  5. use Lc\SovBundle\Model\File\FileInterface;
  6. use Lc\SovBundle\Model\User\UserInterface;
  7. interface ProductCategoryInterface
  8. {
  9. public function getTitle(): ?string;
  10. public function setTitle(string $title);
  11. public function getDescription(): ?string;
  12. public function setDescription(?string $description);
  13. public function getCreatedBy(): ?UserInterface;
  14. public function setCreatedBy(?UserInterface $createdBy);
  15. public function getUpdatedBy(): ?UserInterface;
  16. public function setUpdatedBy(?UserInterface $updatedBy);
  17. public function getDevAlias(): ?string;
  18. public function setDevAlias(?string $devAlias);
  19. public function getSection(): SectionInterface;
  20. public function setSection(SectionInterface $section): ProductCategoryInterface;
  21. public function getParent(): ?ProductCategoryInterface;
  22. public function setParent(?ProductCategoryInterface $productCategory): ProductCategoryInterface;
  23. public function getParentCategory();
  24. public function getChildrens(): Collection;
  25. public function addChildren(ProductCategoryInterface $productCategory): ProductCategoryInterface;
  26. public function removeChildren(ProductCategoryInterface $productCategory): ProductCategoryInterface;
  27. /**
  28. * @return Collection|ProductFamilyInterface[]
  29. */
  30. public function getProductFamilies(): Collection;
  31. public function addProductFamily(ProductFamilyInterface $productFamily
  32. ): ProductCategoryInterface;
  33. public function removeProductFamily(ProductFamilyInterface $productFamily
  34. ): ProductCategoryInterface;
  35. public function countProductFamilies($status = null);
  36. public function getSaleStatus(): ?bool;
  37. public function setSaleStatus(bool $saleStatus): ProductCategoryInterface;
  38. public function getImage(): ?FileInterface;
  39. public function setImage(?FileInterface $image): ProductCategoryInterface;
  40. public function getMetaTitle(): ?string;
  41. public function setMetaTitle(?string $metaTitle);
  42. public function getMetaDescription(): ?string;
  43. public function setMetaDescription(?string $metaDescription);
  44. public function setOldUrls($oldUrls);
  45. public function getOldUrls(): ?array;
  46. public function getSlug(): ?string;
  47. public function setSlug(?string $slug);
  48. public function getPosition(): float;
  49. public function setPosition(float $position);
  50. public function clearPosition();
  51. public function getStatus(): ?float;
  52. public function setStatus(float $status);
  53. public function getCreatedAt(): ?\DateTimeInterface;
  54. public function setCreatedAt(\DateTimeInterface $createdAt);
  55. public function getUpdatedAt(): ?\DateTimeInterface;
  56. public function setUpdatedAt(\DateTimeInterface $updatedAt);
  57. }