2017-11-15 16 views
1

注文したトップ商品と数量を取得するにはどうすればいいですか?しかし、私は売り上げ商品を提供しています。なぜ正しい結果が表示されないのですか?トップ注文商品のリストを取得

set_time_limit(0); 
ini_set('memory_limit', '8000M'); 

require '../app/Mage.php'; 
umask(0); 
Mage::app(); 
Mage::register('isSecureArea', 1); 
function getBestsellingProducts() 
{  
    // number of products to display 
    $productCount = 400; 

    // store ID 
    $storeId = Mage::app()->getStore()->getId(); 

    // get today and last 30 days time 
    $today = time(); 
    $last = $today - (60*60*24*30); 

    $from = date("Y-m-d", $last); 
    $to = date("Y-m-d", $today); 

    // get most view ed products for current category 
    $products = Mage::getResourceModel('reports/product_collection') 
        ->addAttributeToSelect('*')   
        ->addOrderedQty($from, $to) 
        //->setStoreId($storeId) 
        //->addStoreFilter($storeId)      
        ->setOrder('ordered_qty', 'desc') 
        ->setPageSize($productCount); 

    Mage::getSingleton('catalog/product_status') 
      ->addVisibleFilterToCollection($products); 
    Mage::getSingleton('catalog/product_visibility') 
      ->addVisibleInCatalogFilterToCollection($products); 

    return $products; 
} 


$products = getBestsellingProducts(); 

foreach ($products as $key => $value) { 

    $pro = Mage::getModel('catalog/product')->load($value->getId()); 
    echo $pro->getName() ." - ". $pro->getSku() . " - " . $value->ordered_qty . "<br>"; 
} 

答えて

0

トップレベルの製品を注文した得るために、以下の手順に従ってください:

ステップ1:それに

lass 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); 
    } 
} 

をファイルapp/code/local/Mage/Catalog/Block/Product/Bestseller.phpし、次のコード行を作成します。ステップ2:ファイルを作成しapp/design/frontend/default/YourTheme/template/catalog/product/bestseller.phtmlファイルに次の行を追加します。

<?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()) ?> 
<table class="products-grid" id="products-grid-table"> 
<?php $i=1; foreach ($_products->getItems() as $_product): ?> 
    <?php if ($i%1!==0): ?> 
    <tr> 
    <?php endif ?> 
     <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 src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(122, 109); ?>" width="122" height="109" alt="<?php echo $this->htmlEscape($this->getImageLabel($_product, 'small_image')) ?>" title="<?php echo $this->htmlEscape($this->getImageLabel($_product, 'small_image')) ?>" /> 
      </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> 
    <?php if ($i%3==0 or $i==$_collectionSize): ?> 
    </tr> 
    <?php endif ?> 
    <?php $i++; endforeach; $kol = $_collectionSize; ?> 
</table> 
<?php endif; ?> 

St ep 3:上記のファイルは、Magentoストアのどこにでも表示できるベストセラー商品のリストを作成します。ベストセラー商品を表示するには、テンプレートに次の行のコードブロックを配置するだけです。

{{block type="catalog/product_bestseller" template="catalog/product/bestseller.phtml"}} 

今、私たちはMagentoのどこの店でもベストセラー商品を見ることができます。

関連する問題