【问题标题】:Sorting on Custom Attribute按自定义属性排序
【发布时间】:2011-03-16 19:19:15
【问题描述】:

我创建了一个名为“sales_rank”的属性,我已将其设置为可排序属性。但是,当我从产品列表中选择它时,它并没有按照我的预期排序。进一步检查,它似乎是作为一个文本字段而不是作为一个数字进行排序的。这意味着它将走 101、1014、102、1035、104、11、1204 等......

我该如何解决这个问题?创建属性时,无法告诉它是一个数字。您可以从“输入验证”框中选择“整数”,这就是答案吗?我还没试过……

有什么想法吗?

谢谢!

【问题讨论】:

    标签: magento magento-1.4


    【解决方案1】:

    尝试一下,如果仍然不起作用,请返回。数据字段可以保存在多个表中,听起来您将此字段保存为字符串(如字母排序所证明的那样)。

    如果您真的想知道它的保存位置,请针对您的数据库运行此查询:

    select backend_type from eav_attribute where attribute_code = 'sales_rank';
    

    你想让它说数字/整数等。

    【讨论】:

    • 感谢@joseph-mastey,但不幸的是这似乎不起作用。我尝试了您对当前属性的建议,实际上它是一个 varchar。但是,我尝试创建一个新属性,这次为“输入验证”选项选择“整数”,但它又是一个 varchar。我还尝试获取所有 backend_typeint 的属性。结果都是 DropdownYes/No 属性类型,但在这种情况下我不能使用它们。有没有办法让 Text Field 样式属性(就你输入值的方式而言)实际上是一个 Integer 值?
    • 顺便说一句,我能够通过用前导'0'填充字符串来解决排序问题,以便它们正确排序......但我不喜欢这个解决方案,所以如果有人知道正确的方法,请告诉我:)
    • Brian,用前导 '0' 填充字符串是什么意思?我也遇到了这个问题!
    • 其实,我想我明白你的意思了:0010 0020 0030 etc up to 9999
    【解决方案2】:

    我在这里找到了我的解决方案:http://www.magentocommerce.com/bug-tracking/issue?issue=7204

    基本上,使用“价格”属性类型,因为系统将其视为整数。不漂亮,但它很管用!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-09
      • 2017-10-06
      • 2020-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      相关资源
      最近更新 更多