2014-04-24 232 views
3

在我的网站中,我已经设置了一个按属性排序我的产品的过滤器,但顺序是按字母顺序排列的,我希望顺序是按位置属性设置在后端。Magento:按属性排序产品位置

示例属性颜色:

Valuename |位置

green | 1

blue | 2

red | 3

实际结果在前端产品是蓝绿色的,然后再红,我想结果是绿色然后蓝色然后红色

一下班我就可以解决这个问题修改?

在此先感谢

+1

请勿在不同的Stack Exchange站点上交叉发布。如果你这样做,至少有体面的不复制在magento.SE – geoffspear

+0

问题0票的事情对不起,我不知道他们是两个连接的网站 – Stefano

回答

4

我以为你创建产品自定义选项,然后将该值设置的short_order。如果这是正确的,那么使用这个代码。

转到应用程序/代码/核心/法师/目录/型号/产品/ 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; 
} 
+0

抱歉,但你的解决方案不工作。按字母顺序属性 – Stefano

+0

剩下的排序可以添加前端的屏幕截图。对我来说会好很多。感谢 –

+0

对不起,目前很困难。 – Stefano