/** * {@inheritdoc} */ public function getCurrentCategoryIdentifier() { if ($this->hasCurrentCategory()) { return $this->currentCategory->getId(); } return null; }
/** * Translates the category * * @param Locale $locale * @param CategoryInterface $category * @param string $name */ protected function translateCategory(Locale $locale, CategoryInterface $category, $name) { /** * @var $translation \WellCommerce\Bundle\CategoryBundle\Entity\CategoryTranslation */ $translation = $category->translate($locale->getCode()); $slug = $this->getLocaleSlug($locale, $name); $translation->setName($name); $translation->setSlug($slug); $category->mergeNewTranslations(); }
/** * Returns a dataset of products recommended for category * * @param CategoryInterface $category * * @return array */ public function getProductRecommendationsForCategory(CategoryInterface $category) { $conditions = new ConditionsCollection(); $conditions->add(new Eq('category', $category->getId())); return $this->dataset->getResult('datagrid', ['limit' => 3, 'order_by' => 'name', 'order_dir' => 'asc', 'conditions' => $conditions]); }
/** * {@inheritdoc} */ public function addChild(CategoryInterface $child) { $this->children[] = $child; $child->setParent($this); }
/** * {@inheritdoc} */ public function indexAction(CategoryInterface $category) { $this->addBreadCrumbItem(new BreadcrumbItem(['name' => $category->translate()->getName()])); $this->manager->getCategoryContext()->setCurrentCategory($category); return $this->displayTemplate('index', ['category' => $category]); }