在我的网站中,我已经设置了一个过滤器,用于按属性排序我的产品,但顺序是按字母顺序排列的,我希望订单是按后端设置的位置属性。
示例属性颜色:
Valuename |位置
绿色| 1
蓝色| 2
红色| 3
前端的实际结果是产品蓝色然后是绿色然后是红色,我希望结果是绿色然后是蓝色然后是红色
我可以修改哪些类来解决这个问题?
提前致谢
答案 0 :(得分:4)
我在考虑为产品创建自定义选项,然后设置值的short_order。如果这是正确的,那么使用此代码。
转到App / code / core / Mage / Catalog / Model / Product / Option.php
有一个函数getProductOptionCollection行号: - 373。只需注释掉 - > setOrder('title','asc')的代码;并在 - > setOrder('sort_order','asc')之后添加“;”
public function getProductOptionCollection(Mage_Catalog_Model_Product $product)
{
$collection = $this->getCollection()
->addFieldToFilter('product_id', $product->getId())
->addTitleToResult($product->getStoreId())
->addPriceToResult($product->getStoreId())
->setOrder('sort_order', 'asc');
//->setOrder('title', 'asc');
if ($this->getAddRequiredFilter()) {
$collection->addRequiredFilter($this->getAddRequiredFilterValue());
}
$collection->addValuesToResult($product->getStoreId());
return $collection;
}