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.

47 line
1.3KB

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