選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

60 行
1.7KB

  1. <?php
  2. namespace Lc\CaracoleBundle\Repository\Site;
  3. use Lc\CaracoleBundle\Model\Section\SectionInterface;
  4. use Lc\CaracoleBundle\Repository\SectionStoreTrait;
  5. use Lc\SovBundle\Model\Site\PageInterface;
  6. use Lc\SovBundle\Repository\Site\PageStore as SovPageStore;
  7. class PageStore extends SovPageStore
  8. {
  9. use SectionStoreTrait;
  10. public function __construct(PageRepositoryQuery $query)
  11. {
  12. parent::__construct($query);
  13. }
  14. // TODO Vérifier si c'est good avec la section
  15. // findPage
  16. public function getOnePage(string $devAlias, SectionInterface $section = null): ?PageInterface
  17. {
  18. $query = $this->query->create();
  19. if ($section == null) {
  20. $section = $this->section;
  21. }
  22. $query
  23. ->filterIsOnline()
  24. ->filterByDevAlias($devAlias)
  25. ->filterBySection($section);
  26. return $query->findOne();
  27. }
  28. // public function findPage($devAlias, $devAliasMerchant = false)
  29. // {
  30. // $merchant = false;
  31. //
  32. // if ($devAliasMerchant) {
  33. // $merchant = $this->merchantUtils->getMerchantByDevAlias($devAliasMerchant);
  34. // }
  35. //
  36. // if ($devAliasMerchant && $merchant) {
  37. // $query = $this->createQueryBuilder('e')
  38. // ->where('e.merchant = :merchant')
  39. // ->setParameter('merchant', $merchant->getId());
  40. // } else {
  41. // $query = $this->findByMerchantQuery();
  42. // }
  43. //
  44. // return $query->andWhere('e.status = 1')
  45. // ->andWhere('e.devAlias = :devAlias')
  46. // ->setParameter('devAlias', $devAlias)
  47. // ->getQuery()
  48. // ->getOneOrNullResult();
  49. // }
  50. }