0

私はマジェントのウェブサイトに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

あなたのコードは、カテゴリ コレクションではなく、カテゴリ モデルを使用しています。モデルは 1 つのエンティティを表し、フィルターはありません。モデルをing することで、すべてのデータをインスタンスに適用しているため、アクティブなフラグがいいえ (0) かはい (1) かを判断するload()ために呼び出すことができるはずです。$category_model->getIsActive()

于 2013-05-30T22:34:16.910 に答える