我有一个自定义页面,我已经放在一起,基本上显示了正在销售的产品。我被问到是否可以按照最高折扣百分比对产品中的产品进行分类。
所以我想知道是否可以根据潜水其他两个属性的数学结果来设定产品的顺序。
答案 0 :(得分:2)
我想我明白了。 Alan Storm之前曾帮助我解决类似的问题,我正在以任意方式对产品进行分类。
Magento get a product collection in an arbitrary order
使用相同的想法,我想出了以下代码来完成这项工作:
$products = Mage::getModel('catalog/category')->load($category_id)
->getProductCollection()
->addAttributeToSelect('name')
->addAttributeToSelect('price')
->addAttributeToSelect('small_image')
->addAttributeToFilter('status', 1)
->addAttributeToFilter('visibility', 4)
->addAttributeToFilter('special_price', array('neq' => ""))
->addAttributeToFilter('discontinued', array('neq' => 1))
->setPageSize($results_per_page)
->setCurPage($current_page)
;
$ products-> getSelect() - > order('(e
。special_price / e
。price
)','DESC');
应该归功于Alan Storm。
答案 1 :(得分:2)
看看Smart Sorting Extension for Magento。
它以9种新方式让您的客户sort products进入商店目录:
现在在愿望清单(实时),
现在购物车(实时),
最大节省,
保存最多%,
客户选择,
讨论最多,
最感谢,
最新,
观看次数最多。
答案 2 :(得分:0)
使用: $产品 - > getSelect() - >订单('1 - ( price_index.final_price / e.price)','DESC');
所以,即使您有一些活动的规则促销,也会考虑。
答案 3 :(得分:0)
d。 Militos的回答对我来说是正确的,稍作修正:
$ products-> getSelect() - > order('1 - (price_index.final_price / price_index .price)','DESC');