我想首先在类别页面上展示促销产品(special_price> 0)。
我尝试过多种方法,但似乎都没有。
我想添加
if((price_index.final_price - price_index.price) > 0 ? 0 : 1
作为字段和AS promoP ,然后按 promoP 排序,但我无法在收集中进行此操作。
$this->_productCollection->getSelect()->columns(array(new Zend_Db_Expr('promoP') => '(if((price_index.final_price - price_index.price) > 0 ? 0 : 1))'));
答案 0 :(得分:0)
解决这个问题
$this->_productCollection->getSelect()->columns(array('promoP' => new Zend_Db_Expr('IF(price_index.final_price < price_index.price, "0", "1")')));
$this->_productCollection->getSelect()->order('promosP asc');
这将首先显示所有促销,然后显示其余产品。 我从中创建了一个插件,以便将来有所帮助。