0

我在 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; ?>
4

1 回答 1

1

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

于 2013-05-30T22:34:16.910 回答