我正在尝试在主页上显示演示商店社区版 v1.7 的最佳产品,首先我尝试从该链接http://www.magentocommerce.com/magento-connect安装一个名为Magento Bestseller Products Extension的扩展/bestseller-products-7401.html,但它没有用
所以我决定自己输出最好的产品,
为此,我创建了两个文件:
app/code/core/Mage/Catalog/Block/Product/MyBestSeller.php
app/design/frontend/default/my_theme/template/catalog/product/mybestseller.phtml
我将此行添加到主页:
{{block type="catalog/product_mybestseller" template="catalog/product/mybestseller.phtml"}}
然后我刷新了缓存
我的问题是什么都没有输出!在主页输出数据的方式是否正确?
这是 MyBestSeller.php 的代码
class Mage_Catalog_Block_Product_MyBestSeller extends Mage_Catalog_Block_Product_Abstract{
public function __construct()
{
parent::__construct();
$storeId = Mage::app()->getStore()->getId();
$products = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->setStoreId($storeId)
->addStoreFilter($storeId)
->setOrder('ordered_qty', 'desc');
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($products);
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($products);
$products->setPageSize(6)->setCurPage(1);
$this->setProductCollection($products);
}
}
mybestseller.phtml 是这样开始的(我认为其余的代码并不重要,这就是我没有包含它的原因):
<h2 style="background-color: red">from myestseller.phtml</h2><!-- just a test -->
<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?>
<?php $_collectionSize = count($_products->getItems()) ?>
<table class="products-grid" id="products-grid-table">
<?php $i=1; foreach ($_products->getItems() as $_product): ?>
在此先感谢您的帮助