【问题标题】:Magento Foreach subcategory get products listMagento Foreach 子类别获取产品列表
【发布时间】:2014-04-02 19:25:33
【问题描述】:

我先说明一下我的情况。

目前我创建了一个块,在其中显示一个主要类别中的所有类别。我使用主类别的 id 获取其子类别。

结果:

“所有产品”是指向当前类别的链接。
在“所有产品”li 项下,我需要显示当前类别的所有产品。
我目前的进度:

<div class="block block-category">
    <div class="inside-box">
    <div class="block-title block-category-title"><h2><?php echo $this->__('Product List') ?></h2></div>
        <div class="block-category-navigation">
            <ul id="category-nav"> 
            <?php 
            $root = Mage::getModel('catalog/category')->load(5); 
            $subCat = explode(',',$root->getChildren()); 

            $collection  = $root
                         ->getCollection()
                         ->addAttributeToSelect("*")
                         ->addFieldToFilter("entity_id", array("in", $subCat) );

                    foreach($collection as $catname){ ?>
                        <li class="clickToSeeProducts">
                            <a>
                                <?php echo $catname->getName(); ?>
                            </a>
                        </li>  
                        <div class="toggleDiv"><a class="allProducts" href="<?php echo $catname->getURL(); ?>"><?php echo "All Products"; ?></li></a></div>
                <?php } ?>
            </ul>
        </div> 
    </div> 
</div>

知道如何使用我的方法展示我的产品吗? 谢谢

【问题讨论】:

  • 你上面显示的分类是主分类和子分类吧?
  • 是 ID-5 类别的所有子类别 $root = Mage::getModel('catalog/category')->load(5)

标签: html css magento php


【解决方案1】:

试试这个:(未测试source

<div class="block block-category">
    <div class="inside-box">
    <div class="block-title block-category-title"><h2><?php echo $this->__('Product List') ?></h2></div>
        <div class="block-category-navigation">
            <ul id="category-nav"> 
            <?php 
                $root = Mage::getModel('catalog/category')->load(5); 
                foreach ($root->getChildren() as $subCat) {
                    $collection = Mage::getModel('catalog/product')
                                     ->getCollection()
                                     ->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
                                     ->addAttributeToSelect('*')
                                     ->addAttributeToFilter('category_id', array('in' => $categoryIds))
                    foreach($collection as $catname){ ?>
                        <li class="clickToSeeProducts">
                            <a>
                                <?php echo $catname->getName(); ?>
                            </a>
                        </li>  
                        <div class="toggleDiv"><a class="allProducts" href="<?php echo $catname->getURL(); ?>"><?php echo "All Products"; ?></li></a></div>
                    <?php } 
                }
            ?>
            </ul>
        </div> 
    </div> 
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-27
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    相关资源
    最近更新 更多