Step 1:
Create a file app/code/local/Mage/Catalog/Block/Product/Bestseller.php and the following lines of code in it
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | class Mage_Catalog_Block_Product_Bestseller extends Mage_Catalog_Block_Product_Abstract{ public function __construct(){ parent::__construct(); $storeId = Mage::app()->getStore()->getId(); $products = Mage::getResourceModel( 'reports/product_collection' ) ->addOrderedQty() ->addAttributeToSelect( '*' ) ->addAttributeToSelect( array ( 'name' , 'price' , 'small_image' )) ->setStoreId( $storeId ) ->addStoreFilter( $storeId ) ->setOrder( 'ordered_qty' , 'desc' ); // most best sellers on top Mage::getSingleton( 'catalog/product_status' )->addVisibleFilterToCollection( $products ); Mage::getSingleton( 'catalog/product_visibility' )->addVisibleInCatalogFilterToCollection( $products ); $products ->setPageSize(3)->setCurPage(1); $this ->setProductCollection( $products ); } } |
Create a file app/design/frontend/default/YourTheme/template/catalog/product/bestseller.phtml file and add the following lines of code in it
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | <?php if (( $_products = $this ->getProductCollection()) && $_products ->getSize()): ?> <div class = "page-title" > <h2><?php echo $this ->__( 'Best Seller Products' ) ?></h2> </div> <?php $_collectionSize = count ( $_products ->getItems()) ?> <?php $i =1; foreach ( $_products ->getItems() as $_product ): ?> <?php if ( $i %1!==0): ?> <?php endif ?> <?php if ( $i %3==0 or $i == $_collectionSize ): ?> <?php endif ?> <?php $i ++; endforeach ; $kol = $_collectionSize ; ?> <table class = "products-grid" id= "products-grid-table" ><tbody><tr><td id= "td_<?php echo $i;?>" <?php= "" if ( $i %3= "=0" or = "" $i = "=$_collectionSize){echo" 'class="last" ' ;}= "" ?>= "" > <?php contentBlock( 'top' ) ?> <div id= "cont_<?php echo $i;?>" > <h3 class = "product-name" ><a href= "<?php echo $_product->getProductUrl() ?>" title= "<?php echo $this->htmlEscape($_product->getName()) ?>" ><?php echo $this ->htmlEscape( $_product ->getName()) ?></a></h3> <a class = "product-image" href= "<?php echo $_product->getProductUrl() ?>" title= "<?php echo $this->htmlEscape($this->getImageLabel($_product, 'small_image')) ?>" > <img alt= "<?php echo $this->htmlEscape($this->getImageLabel($_product, 'small_image')) ?>" height= "109" src= "<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(122, 109); ?>" title= "<?php echo $this->htmlEscape($this->getImageLabel($_product, 'small_image')) ?>" width= "122" > </a> <div class = "a-center" > <?php if ( $_product ->getRatingSummary()): ?> <?php echo $this ->getReviewsSummaryHtml( $_product , 'short' ) ?> <?php endif ; ?> <?php echo $this ->getPriceHtml( $_product , true) ?> <?php if ( $_product ->isSaleable()): ?> <button class = "button" onclick= "setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')" ><span><span><span><?php echo $this ->__( 'Add to Cart' ) ?></span></span></span></button> <div class = "clear" ></div> <?php else : ?> <p class = "availability" ><span class = "out-of-stock" ><?php echo $this ->__( 'Out of stock' ) ?></span></p> <div class = "clear" ></div> <?php endif ; ?> <ul class = "add-to-links" > <?php if ( $this ->helper( 'wishlist' )->isAllow()) : ?> <li><a href= "<?php echo $this->helper('wishlist')->getAddUrl($_product) ?>" ><?php echo $this ->__( 'Add to Wishlist' ) ?></a></li> <?php endif ; ?> <?php if ( $_compareUrl = $this ->getAddToCompareUrl( $_product )): ?> <li class = "last" ><span class = "separator" >|</span> <a href= "<?php echo $_compareUrl ?>" ><?php echo $this ->__( 'Add to Compare' ) ?></a></li> <?php endif ; ?> </ul> <?php if ( $_product ->getevent_date()) { echo $_product ->getevent_date();} ?> </div> </div> </td></tr></tbody></table> <?php endif ; ?> |
This above files will create a list of best selling products which can be shown anywhere on your Magento store. All you have to do is place the following line of code block in your template to show the best selling products.
1 | {{block type="catalog/product_bestseller" template="catalog/product/bestseller.phtml"}} |
No comments:
Post a Comment