如何在Magento的CMS页面中按类别显示产品?

时间:2012-05-29 06:22:26

标签: magento categories product

我有一个名为“products”的页面。在这个页面中,我需要显示由它的相应类别名称分隔的所有项目。结构如下所示

category 1

item1   item2


category 2

item1 item2

我该怎么做?

2 个答案:

答案 0 :(得分:6)

{{block type="catalog/product_list" category_id="8" template="catalog/product/featured.phtml"}} 

在cms页面中添加以上代码并在catalog / product中添加featured.phtml文件并输入此代码

    <?php $_productCollection=$this->getLoadedProductCollection() ?>
<?php if(!$_productCollection->count()): ?>
<div class="note-msg">
    <?php echo $this->__('There are no products matching the selection. Please provide a category ID.') ?>
</div>
<?php else: ?>

<?php // Grid Mode ?>


  <ul id="featured" class="jcarousel-skin-tango">

<?php $_collectionSize = $_productCollection->count() ?>
    <?php $i=0; foreach ($_productCollection as $_product): ?>
        <?php if($i++%4==0): ?>


                <?php endif ?>



             <li><a class="preview" rel="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(300, 300); ?>" href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>">
                        <img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(105, 105); ?>" width="105" height="105" alt="<?php echo $this->htmlEscape($_product->getName()) ?>" />
                    </a> </li>

            <?php if ($i%4==0 && $i!=$_collectionSize): ?>

            <?php endif ?>


    <?php endforeach ?>


</ul>


<?php endif; ?>

答案 1 :(得分:0)

您可以使用以下方式在CMS中加载phtml:

{{block type="catalog/product" template="catalog/product/view/custom.phtml"}}

现在,对于要显示上述结构的类别,您可以在类别模型中加载它们,并获取custom.phtml中的所有产品