如何在前端按人气排序Magento产品?
问题描述:
我已经创建了一个模块,在类别页面的“排序方式”下拉框中添加一个新选项。新选项应显示在每个类别页面中,与已存在的“位置”选项相同。我想添加'流行'作为一个选项。 My Model类正在执行,它将选项添加到选项数组中。但该块不起作用。请帮我在我的代码中找到问题?如何在前端按人气排序Magento产品?
这里是块类
<?php
class Tal_Popularity_Block_Product_List_Toolbar extends Mage_Catalog_Block_Product_List_Toolbar
{
public function setCollection($collection)
{
$this->_collection = $collection;
$this->_collection->setCurPage($this->getCurrentPage());
// we need to set pagination only if passed value integer and more that 0
$limit = (int)$this->getLimit();
if ($limit) {
$this->_collection->setPageSize($limit);
}
if($this->getCurrentOrder() == 'popularity'){
$this->_collection->sortByReview($this->getCurrentDirection());
}
else if ($this->getCurrentOrder()) {
$this->_collection->setOrder($this->getCurrentOrder(), $this->getCurrentDirection());
}
return $this;
}
}
以下是我的config.xml
<?xml version="1.0" ?>
<config>
<modules>
<Tal_Popularity>
<version>0.1.0</version>
</Tal_Popularity>
</modules>
<frontend>
<routers>
<popularity>
<use>standard</use>
<args>
<module>Tal_Popularity</module>
<frontName>popularity</frontName>
</args>
</popularity>
</routers>
</frontend>
<global>
<models>
<catalog>
<rewrite>
<config>Tal_Popularity_Model_Config</config>
</rewrite>
</catalog>
</models>
<blocks>
<catalog>
<rewrite>
<catalog>Tal_Popularity_Block</catalog>
</rewrite>
</catalog>
</blocks>
<resources>
<popularity_setup>
<setup>
<module>Tal_Popularity</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</popularity_setup>
<popularity_write>
<connection>
<use>core_write</use>
</connection>
</popularity_write>
<popularity_read>
<connection>
<use>core_read</use>
</connection>
</popularity_read>
</resources>
</global>
</config>
答
我找到了解决办法。问题出在config.xml中
上一个代码。
<blocks>
<catalog>
<rewrite>
<catalog>Tal_Popularity_Block</catalog>
</rewrite>
</catalog>
</blocks>
上面的代码应该像下面那样。
<blocks>
<catalog>
<rewrite> <product_list_toolbar>Tal_Popularity_Block_Product_List_Toolbar</product_list_toolbar>
</rewrite>
</catalog>
</blocks>
请任何建议?????????????? – Sukeshini 2013-03-23 08:13:01