Magento:按属性位置对产品进行排序

Magento:按属性位置对产品进行排序,magento,attributes,position,product,Magento,Attributes,Position,Product,在我的网站上,我设置了一个过滤器,用于按属性对我的产品进行排序,但顺序是按字母顺序的,我希望顺序是按位置属性在后端设置的 属性颜色示例: Valuename |位置 绿色| 1 蓝色| 2 红色| 3 在前端的实际结果是产品蓝色,然后绿色,然后红色,我想结果是绿色,然后蓝色,然后红色 我可以修改哪些类来解决此问题 提前感谢我认为您应该为产品创建自定义选项,然后设置值的简短顺序。如果这是正确的,则使用此代码 转到App/code/core/Mage/Catalog/Model/Product/Op

在我的网站上,我设置了一个过滤器,用于按属性对我的产品进行排序,但顺序是按字母顺序的,我希望顺序是按位置属性在后端设置的

属性颜色示例:

Valuename |位置

绿色| 1

蓝色| 2

红色| 3

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

我可以修改哪些类来解决此问题


提前感谢

我认为您应该为产品创建自定义选项,然后设置值的简短顺序。如果这是正确的,则使用此代码

转到App/code/core/Mage/Catalog/Model/Product/Option.php

有一个函数getProductOptionCollection行号:-373。只需注释掉->setOrder('title','asc')的代码;并在->setOrder('sort\u order','asc'后面添加“;”)


很抱歉,您的解决方案无效。剩下的按字母顺序排列的属性可以添加前端的屏幕截图。这对我来说会更好。谢谢,这目前很难。你有任何链接,我可以查看产品视图页面。例如,在前端的“文本”类别中,我有四个产品:“产品A”的属性颜色为绿色;属性颜色为红色的“产品B”;具有属性颜色grenn的“产品C”;属性颜色为蓝色的“产品D……”。。。。。。。。。实际的顺序显示(当排序过滤器设置为颜色时)是D、A、C、B,但我希望A、C、D、B请不要在不同的堆栈交换站点上交叉发布。如果你真的这么做了,至少你要有礼貌,不要在magento的问题上复制0票的东西。我不知道他们是两个相连的网站
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;
}