Magento 2 get category collection using specific controllers and category level using object manager
Magento 2 get category collection using object manager
<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$category = $objectManager->get('Magento\Framework\Registry')
->registry('current_category'); //get current category
$requestInterface = $objectManager->get('Magento\Framework\App\RequestInterface');
//echo $routeName = $requestInterface->getRouteName();
//echo $moduleName = $requestInterface->getModuleName();
$controllerName = $requestInterface->getControllerName();
//echo $actionName = $requestInterface->getActionName();
$parcatId = $category->getId(); // current Category ID
$parcategory = $objectManager->create('Magento\Catalog\Model\Category')
->load($parcatId);
$parent_category = $parcategory->getParentCategory();
$subcatId = $parent_category->getId();
$subcategory = $objectManager->create('Magento\Catalog\Model\Category')
->load($subcatId);
$subcats = $subcategory->getChildrenCategories();
$_helper = $this->helper('Magento\Catalog\Helper\Output');
?>
<?php if ($parent_category->getLevel() == 2 || $controllerName == 'product'): ?>
<ul class="sub_cat_bg navigation">
<?php
foreach ($subcats as $subcat)
{
$subcaturl = $subcat->getUrl(); ?>
<li class="cat_image_bg level0">
<a class="level-top" href="<?php echo $subcaturl ?>">
<span><?php echo $subcat->getName(); ?></span>
</a>
</li>
<?php } ?>
</ul>
<?php endif; ?>
Comments
Post a Comment