您的位置:首页 > 其它

magento 列表页价格筛选、排序,修改为看到的价格

2016-05-25 09:28 134 查看
magento 默认的价格排序和筛选都是根据最小的价格来的,所谓最小的价格就是它会考虑option,产品的价格会有个index表去记录,包含final price, min price, max price,取产品的时候会带入。

这个虽然说是考虑的更多,但是不直观,直接根据final price来排序和筛选可能会更好,修改如下:

class Mage_Catalog_Model_Resource_Product_Collection

//筛选
protected function _preparePriceExpressionParameters($select)
{
...
$this->_priceExpression = $table . '.min_price'; //改为.final_price
...
}

//排序
public function addAttributeToSort($attribute, $dir = self::SORT_ORDER_ASC)
{
...
if ($attribute == 'price' && $storeId != 0) {
$this->addPriceData();
$this->getSelect()->order("price_index.min_price {$dir}");//.final_price

return $this;
}
...
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  magento 价格 排序 筛选