/** * {@inheritdoc} */ public function getUseFlatResource() { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getUseFlatResource'); if (!$pluginInfo) { return parent::getUseFlatResource(); } else { return $this->___callPlugins('getUseFlatResource', func_get_args(), $pluginInfo); } }
/** * Get current category * * @param \Magento\Catalog\Model\Category $category * * @return Category */ public function isActive($category) { $activeCategory = $this->_coreRegistry->registry('current_category'); $activeProduct = $this->_coreRegistry->registry('current_product'); if (!$activeCategory) { // Check if we're on a product page if ($activeProduct !== null) { return in_array($category->getId(), $activeProduct->getCategoryIds()); } return false; } // Check if this is the active category if ($this->categoryFlatConfig->isFlatEnabled() && $category->getUseFlatResource() and $category->getId() == $activeCategory->getId()) { return true; } // Check if a subcategory of this category is active $childrenIds = $category->getAllChildren(true); if (!is_null($childrenIds) and in_array($activeCategory->getId(), $childrenIds)) { return true; } // Fallback - If Flat categories is not enabled the active category does not give an id return $category->getName() == $activeCategory->getName() ? true : false; }
public function testGetUseFlatResourceFalse() { $this->assertEquals(false, $this->category->getUseFlatResource()); }