【问题标题】:Display categories on home page in Magento在 Magento 的主页上显示类别
【发布时间】:2011-03-18 07:05:05
【问题描述】:

我是 Magento 的新手,想在 Magento 主页而不是顶部导航菜单上显示所有类别。

我在it 上阅读了很多articles,但没有任何帮助。请指出正确的方向。

提前致谢。

【问题讨论】:

    标签: magento categories


    【解决方案1】:

    下面的代码做了几件事,首先它将获取所有商店的类别 - 然后在继续之前检查它们是否处于活动状态。

    代码礼貌: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; ?>
    

    【讨论】:

    【解决方案2】:

    我找到了问题所在。 解决方案在此链接http://samsami2u.wordpress.com/2009/09/15/add-categories-with-images-on-homepage-magento/ 上,我试图添加这一行 {{block type="catalog/navigation" name="catalog.category" template="catalog/category/list.phtml"}} 在设计选项卡下的布局更新 xml 中从后端到主页,但正确的方法是放置它在内容选项卡中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多