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.

49 lines
1.3KB

  1. <?php
  2. namespace Lc\CaracoleBundle\Model\Product;
  3. use Doctrine\Common\Collections\Collection;
  4. use Lc\CaracoleBundle\Model\Section\SectionInterface;
  5. /**
  6. * @ORM\MappedSuperclass()
  7. */
  8. interface ProductCategoryInterface
  9. {
  10. public function getSection(): SectionInterface;
  11. public function setSection(SectionInterface $section): ProductCategoryModel;
  12. public function getParent(): ?self;
  13. public function setParent(?ProductCategoryModel $productCategory): ProductCategoryModel;
  14. public function getParentCategory();
  15. /**
  16. * @return Collection|self[]
  17. */
  18. public function getChildrens(): Collection;
  19. public function addChildren(ProductCategoryModel $productCategory): ProductCategoryModel;
  20. public function removeChildren(ProductCategoryModel $productCategory): ProductCategoryModel;
  21. /**
  22. * @return Collection|ProductFamilyInterface[]
  23. */
  24. public function getProductFamilies(): Collection;
  25. public function addProductFamily(ProductFamilyInterface $productFamily
  26. ): ProductCategoryModel;
  27. public function removeProductFamily(ProductFamilyInterface $productFamily
  28. ): ProductCategoryModel;
  29. public function countProductFamilies($status = null);
  30. public function getSaleStatus(): ?bool;
  31. public function setSaleStatus(bool $saleStatus): ProductCategoryModel;
  32. }