Show categories on Magento homepage

I am new to Magento and want to display all categories on the Magento homepage, not the top navigation menu.

I read a lot of article on it , but nothing helped. Please point me in the right direction.

Thanks in advance.

+4
source share
2 answers

I had a problem. The solution is at this link http://samsami2u.wordpress.com/2009/09/15/add-categories-with-images-on-homepage-magento/ , and I tried to add this line {{block type = "catalog / navigation "name =" catalog.category "template =" catalog / category / list.phtml "}} to the home page from the back in updating the xml layout on the design tab, but put the correct path on the content tab.

+5
source

There are several things in the code below, first he will get all categories of stores - he then checks to see if they are active before continuing.

Courtesy code: magentocommerce forum

<?php /* Get the categories that are active for the store */ $_main_categories=$this->getStoreCategories(); /* Get the current category the user is in */ $_current_category=$this->getCurrentCategory(); /* Get the current category path */ $_categorypath = $this->getCurrentCategoryPath(); ?> <ul> <?php if ($_main_categories): /* This bit cycles through the categories - setting the next one to current */ foreach ($_main_categories as $_main_category): if($_main_category->getIsActive()): $cur_category=Mage::getModel('catalog/category')->load($_main_category->getId()); $layer = Mage::getSingleton('catalog/layer'); $layer->setCurrentCategory($cur_category); /* Write the main categories */ ?> <li><a href="<?php echo $this->getCurrentCategory()->getUrl()?>"><?php echo $this->getCurrentCategory()->getName();?></a></li> <?php /* Check the category variable loop against the current category path if it is - print sub categories */ if (in_array($this->getCurrentCategory()->getId(), $_categorypath)): ?> <?php $_maincategorylisting=$this->getCurrentCategory()?> <?php $_categories=$this->getCurrentChildCategories()?> <?php if($_categories->count()):?> <ul> <? foreach ($_categories as $_category):?> <? if($_category->getIsActive()): $cur_subcategory=Mage::getModel('catalog/category')->load($_category->getId()); $layer = Mage::getSingleton('catalog/layer'); $layer->setCurrentCategory($cur_subcategory); ?> <li><a href="<?php echo $this->getCategoryUrl($_category)?>"> <?php echo $_category->getName()?></a></li> <? endif;?> <?endforeach?> </ul> <?php /* This resets the category back to the original pages category **** If this is not done, subsequent calls on the same page will use the last category **** in the foreach loop */ ?> <?php $layer->setCurrentCategory($_current_category); ?> <?endif;?> <?endif;?> <?php endif; endforeach; else: ?> <p>$_main_categories array was empty.</p> <p>This might be because you are referencing this phtml file with a wrong type attribute. You should use <block type="catalog/navigation" ... /> !</p> <?php endif; ?> 
+5
source

Source: https://habr.com/ru/post/1344230/


All Articles