我无法按产品清单页面的价格对产品进行分类。
按名称排序可以正常工作。
任何想法的人?
我用谷歌搜索并尝试了一些解决方案,但他们没有解决我的问题。
我尝试过:系统 - >缓存管理 - >分层导航索引 - >立即刷新
还尝试了此链接:http://www.miromedia.co.uk/blog/300/fixing-the-magento-price-sort-issue.htm
Magento版本:1.3.2.4
答案 0 :(得分:3)
此版本的Magento似乎存在某种错误,产品目录索引价格未在产品保存上更新。所以你能做的就是通过如下所述的价格条件。
更新addAttributeToSort
类的Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection
功能。
注释以下代码: -
// if ($attribute == 'price' && $storeId != 0) {
// $websiteId = Mage::app()->getStore()->getWebsiteId();
// $customerGroup = Mage::getSingleton('customer/session')->getCustomerGroupId();
//
// if ($this->isEnabledFlat()) {
// $priceColumn = 'e.display_price_group_' . $customerGroup;
// $this->getSelect()->order("{$priceColumn} {$dir}");
// }
// else {
// $priceAttributeId = $this->getAttribute('price')->getId();
//
// $entityCondition = '_price_order_table.entity_id = e.entity_id';
// $storeCondition = $this->getConnection()->quoteInto(
// '_price_order_table.website_id = ?',
// $websiteId
// );
// $groupCondition = $this->getConnection()->quoteInto(
// '_price_order_table.customer_group_id = ?',
// $customerGroup
// );
// $attributeCondition = $this->getConnection()->quoteInto(
// '_price_order_table.attribute_id = ?',
// $priceAttributeId
// );
//
// $this->getSelect()->joinLeft(
// array('_price_order_table'=>$this->getTable('catalogindex/price')),
// "{$entityCondition} AND {$storeCondition} AND {$groupCondition} AND {$attributeCondition}",
// array()
// );
// $this->getSelect()->order('_price_order_table.value ' . $dir);
//
// /**
// * Distinct we are using for remove duplicates of products which have
// * several rows in price index (like grouped products)
// */
// $this->getSelect()->distinct(true);
// }
//
// return $this;
// }
您可以使用Magento标准方式执行此操作,而不是注释掉核心代码。希望这会有所帮助。
答案 1 :(得分:1)
您需要在Magento admin。
中正确配置price属性转到属性管理,找到价格属性并确保勾选“在前端排序”框
应该为你解决这个问题。