Hỏi hiển thị sản phẩm bán chạy lên homepage

Thảo luận trong 'Các lỗi thường gặp' bắt đầu bởi hongmr, 16 Tháng tư 2015.

  1. hongmr

    hongmr New Member

    Mình đã làm theo hướng dẫn này, nhưng khi gọi block trên CMS Page thì ko thấy hiển thị gì ai giúp mình với

    Method 4

    To show bestseller at Top seller at home page.so that best products should come on home page.For that follow the following steps
    Create a Bestseller.php file and put it here :
    app/code/local/Mage/Catalog/Block/Product/Bestseller.php
    code
    "
    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('id')
    ->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 bestseller.phtml file and put it here :
    app/design/frontend/yourtheme/template/catalog/product/bestseller.phtml
    code
    "
    <?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?>
    <div class="home-page-cntr">
    <?php $i=0; foreach ($_products->getItems() as $_product): ?>
    <?php if ($i>5): continue; endif; ?>
    <div class="home-page-item">
    <div class="home-page-img">
    <a 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(65,65); ?>" alt="<?php echo $this->htmlEscape($_product->getName()) ?>"/>
    </a>
    <?php echo $_product->getDescription(); //also getShortDescription ?>
    </div>
    <div class="home-page-txt">
    <p><a class="product-name" href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>)"><?php echo $_product->getName() ?></a></p>
    <?php //echo $this->helper('review/product')->getSummaryHtml($_product, 'short') //product review link ?>
    <?php echo $this->getReviewsSummaryHtml($_product, false, true)?>
    <?php //echo $this->helper('catalog/product')->getPriceHtml($_product) ?>
    <?php echo $this->getPriceHtml($_product) ?>
    <?php echo $_product->getProductId(); ?>
    <?php if($_product->getevent_date()) {echo $_product->getevent_date();} ?>
    </div>
    </div>
    <?php $i++; endforeach; ?>
    <?php for($i;$i%5!=0;$i++): ?>
    <?php endfor ?>
    </div>
    <?php endif; ?>

    "


    now put this line where you want to view best selling products..
    you can use through block or through XML also
    {{block type="catalog/product_bestseller" template="catalog/product/bestseller.phtml"}}

    <block type="catalog/product_bestseller" name="bestseller" template="catalog/product/bestseller.phtml">

    Bài viết khác cùng chuyên mục:

  2. macthidien

    macthidien Member

    Bạn viết text vào trong file bestseller.phtml xem nó có hiển thị ra được trang chủ không nhé, nếu nó hiển thị text của bạn ra dc thì nó đã chạy vào file bestseller.phtml rồi, và vấn đề ở đây là do chưa có sản phẩm đc đặt hàng nên nó chưa show ra. Còn nếu không hiển thị text bạn viết thì nó chưa chạy vào file bestseller.phtml như vậy thì bạn cần xem cách gọi block của bạn trong cms page nhé.:)

Chia sẻ trang này