仅列出来自magento中所有商店的类别缩略图的活动根类别

时间:2013-05-30 15:23:29

标签: magento categories

我在magento网站上有5家商店。

我想列出所有商店的所有根类别及其缩略图,并将缩略图链接到商店的主页。

例如:

WEBSITE: 
store1 -> category1 
store2 -> category2 
store3 -> category3

我已经使用了代码但我无法使用addAttributeToFilter(),因此我只能列出那些活动的类别。目前,以下代码显示所有根类别,无论是ACTIVE还是NOT。

<?php 
    $groups = $this->getGroups(); 
    $cnt = count($groups); 
?>
<?php if($cnt > 1): ?>
    <div class="container">
    <?php foreach ($groups as $_group): ?>            
           <?php 
            $storeId = $_group->getId();
            $store_url = Mage::app()->getStore($storeId)->getHomeUrl();
            $root_cat = Mage::app()->getStore($storeId)->getRootCategoryId();
            $category_model = Mage::getModel('catalog/category')->load($root_cat); // here I used addAttributeToFilter() and gave me error
            $_category = $category_model;
            $_img_path = Mage::getBaseUrl('media').'catalog/category/';
            $_no_of_columns = ($this->no_of_columns) ? $this->no_of_columns : 6;
           ?>    

                <?php if ($_i++ % $_no_of_columns == 0): ?>
                <div class="row slide">
                <?php endif; ?>
                    <?php if ($_imgUrl = $_category->getThumbnail()): ?>
                    <div class="span2">
                        <a href="<?php echo $store_url ?>" title="<?php echo $_category->getName(); ?>">
                            <img class="img-polaroid" src="<?php echo $_img_path.$_imgUrl; ?>" />
                        </a>
                        <h6>
                            <a href="<?php echo $store_url; ?>" title="<?php echo $_category->getName(); ?>">
                                <?php echo $_category->getName(); ?>
                            </a>
                        </h6>
                    </div>
                    <?php endif; ?>   
                <?php if ($_i % $_no_of_columns == 0 || $_i == $_cat_count): ?>
                </div>
                <?php endif; ?>                 
    <?php endforeach; ?> 
    </div>
<?php endif; ?>

1 个答案:

答案 0 :(得分:1)

您的代码使用的是类别模型,而不是类别集合。模型代表一个实体,没有任何过滤器。通过load()模型,您将所有数据应用于实例,因此您应该能够调用$category_model->getIsActive()来确定活动标志是否为(0)或是(1)。