开发者

how to write a custom panel displaying categories in magento

I have a category called "Top Products". I wish to display this in a panel on my home page. What is the best way to do this in magento.

** edit **

Thanks sdek, i now have the following. In Home Page / Design.

<block type="catalog/product_list" category_id="13"  template="catalog/product/featured.phtml"/>

And it is displaying products. However i have the following issues. - it's not displaying products from category_id 13, It seems like this value is not being passed thru - it's only display 2 products. I wish to display all.

featured.phtml

<?php
    $_productCollection=$this->getLoadedProductCollection();
    $_helper = $this->helper('catalog/output');
?>
<?php if(!$_productCollection->count()): ?>
<p class="note-msg"><?php echo $this->__('There are no products matching the selection.') ?></p>
<?php else: ?>
<h2>Featured Products </h2>
    <?php $_collectionSize = $_productColl开发者_如何学Goection->count() ?>
    <?php $_columnCount = $this->getColumnCount(); ?>
    <?php $i=0; foreach ($_productCollection as $_product): ?>
        <?php if ($i++%$_columnCount==0): ?>
        <ul class="product-grid">
        <?php endif ?>
            <li class="<?php if(($i-1)%$_columnCount==0): ?> first<?php else: ?> last<?php endif; ?>">
            <a class="product-image" href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" >
            <img src="<?php echo $this->helper('catalog/image')->init($_product, 'thumbnail')->resize(85); ?>" class="product-img" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" style="padding-bottom:20px; margin-bottom:20px;" />
            </a>
           <p><strong><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></strong>
           <?php echo $_product->getShortDescription(); ?></p> 

            <?php echo $this->getPriceHtml($_product, true) ?>
            <a href="<?php echo $_product->getProductUrl() ?>" class="more">More details</a>
            </li>
        <?php if ($i%$_columnCount==0 || $i==$_collectionSize): ?>
        </ul>
        <?php endif ?>
        <?php endforeach ?>   
    <?php endif; ?


I wouldn't even use a category but this extension instead:
Featured Products


The Featured Products extension mentioned by clockworkgeek is a good idea. But if you don't like that option the easiest thing to do is to add this in your home page cms {{block type="catalog/product_list" category_id="YOUR_CAT_ID" template="catalog/product/YOUR_MODIFIED_COPY_OF_LIST.phtml"}}

And then make a copy of app/design/frontend///template/catalog/product/list.phtml (I refered to it above as YOUR_MODIFIED_COPY_OF_LIST.phtml) and remove the two lines that say

<?php echo $this->getToolbarHtml() ?>

and remove the entire if-block that outputs the "list mode"... basically the if statement

    <?php // List mode ?>
    <?php if($this->getMode()!='grid'): ?>

and you should only have the "grid mode" code in there.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜