|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace Lc\ShopBundle\Twig; |
|
|
namespace Lc\ShopBundle\Twig; |
|
|
|
|
|
|
|
|
|
|
|
use App\Repository\HubRepository; |
|
|
use App\Services\GlobalParam; |
|
|
use App\Services\GlobalParam; |
|
|
use Doctrine\ORM\EntityManagerInterface; |
|
|
use Doctrine\ORM\EntityManagerInterface; |
|
|
use Lc\ShopBundle\Form\Frontend\NewsletterType; |
|
|
use Lc\ShopBundle\Form\Frontend\NewsletterType; |
|
|
|
|
|
|
|
|
{ |
|
|
{ |
|
|
protected $em ; |
|
|
protected $em ; |
|
|
protected $security ; |
|
|
protected $security ; |
|
|
protected $repositoryProductCategory ; |
|
|
|
|
|
protected $globalParam ; |
|
|
protected $globalParam ; |
|
|
protected $formFactory ; |
|
|
protected $formFactory ; |
|
|
|
|
|
protected $productCategoryRepository ; |
|
|
|
|
|
protected $hubRepository ; |
|
|
|
|
|
|
|
|
public function __construct(EntityManagerInterface $em, Security $security, ProductCategoryRepository $repositoryProductCategory, |
|
|
|
|
|
GlobalParam $globalParam, FormFactoryInterface $formFactory) |
|
|
|
|
|
|
|
|
public function __construct(EntityManagerInterface $em, Security $security, ProductCategoryRepository $productCategoryRepository, |
|
|
|
|
|
GlobalParam $globalParam, FormFactoryInterface $formFactory, HubRepository $hubRepository) |
|
|
{ |
|
|
{ |
|
|
$this->em = $em ; |
|
|
$this->em = $em ; |
|
|
$this->security = $security ; |
|
|
$this->security = $security ; |
|
|
$this->repositoryProductCategory = $repositoryProductCategory ; |
|
|
|
|
|
|
|
|
$this->productCategoryRepository = $productCategoryRepository ; |
|
|
|
|
|
$this->hubRepository = $hubRepository ; |
|
|
$this->globalParam = $globalParam ; |
|
|
$this->globalParam = $globalParam ; |
|
|
$this->formFactory = $formFactory ; |
|
|
$this->formFactory = $formFactory ; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return array( |
|
|
return array( |
|
|
new TwigFunction('get_product_categories', [$this, 'getProductCategories']), |
|
|
new TwigFunction('get_product_categories', [$this, 'getProductCategories']), |
|
|
new TwigFunction('get_form_newsletter', [$this, 'getFormNewsletter']), |
|
|
new TwigFunction('get_form_newsletter', [$this, 'getFormNewsletter']), |
|
|
|
|
|
new TwigFunction('get_merchants', [$this, 'getMerchants']), |
|
|
); |
|
|
); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public function getFilters() |
|
|
public function getFilters() |
|
|
{ |
|
|
{ |
|
|
return [ |
|
|
return [ |
|
|
new TwigFilter('format_price', [$this, 'format_price']), |
|
|
|
|
|
|
|
|
new TwigFilter('format_price', [$this, 'formatPrice']), |
|
|
]; |
|
|
]; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public function getProductCategories() |
|
|
public function getProductCategories() |
|
|
{ |
|
|
{ |
|
|
$categories = $this->repositoryProductCategory->findAllParents($this->globalParam->getCurrentMerchant()) ; |
|
|
|
|
|
|
|
|
$categories = $this->productCategoryRepository->findAllParents($this->globalParam->getCurrentMerchant()) ; |
|
|
return $categories ; |
|
|
return $categories ; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return $form->createView() ; |
|
|
return $form->createView() ; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public function format_price($price) |
|
|
|
|
|
|
|
|
public function formatPrice($price) |
|
|
{ |
|
|
{ |
|
|
$price = number_format($price, 2) ; |
|
|
$price = number_format($price, 2) ; |
|
|
$price = str_replace('.',',',$price) ; |
|
|
$price = str_replace('.',',',$price) ; |
|
|
|
|
|
|
|
|
return $price ; |
|
|
return $price ; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public function getMerchants() |
|
|
|
|
|
{ |
|
|
|
|
|
return $this->hubRepository->findAll() ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |