繁体   English   中英

自定义排序的Magento集合?

[英]Custom Sort of Magento Collection?

事情就是这样,我需要按商品的大小对产品系列进行分类。 大小属性值为XS,S,M,L,XL。 当我简单地说

addAttributeToSort('size', 'DESC')

它按大小属性值(XS,XL,S,M,L)的字母顺序对其进行排序。

有没有人提示如何解决这个问题?

我能想到的最好的方法是在选择过程中创建一些新的选择字段,根据大小值,通过case命令将其值分别为1,2,3,4,5,并对其进行排序。 但是我不知道该怎么做,或者甚至在Magento中也不可能。

最快的解决方法是拥有第二个属性,为该属性定义正确的排序顺序,我认为您可能在上一段中已经提到过。 这样您就可以对该属性本身进行排序。 当然,这需要额外的数据输入才能使您的目录生效。

您可以尝试做的另一件事(老实说,我不知道这是否可行)是尝试使用属性的管理/存储级别标签。 Magento可能会使用一个进行排序,尽管我有些怀疑。

希望有帮助!

谢谢乔

有趣的问题。 您会从前面有关排序的问题中注意到,Magento默认使用SQL ORDER BY语句进行排序。 这将使使用addAttributeToSort()方法很难实现所需的内容(IMHO)。

您可以对我发布给该问题的答案使用类似的方法,该方法基本上将集合转换为对象数组,然后应用自定义排序功能。

您需要创建自己的自定义模块并更新布局xml以指向新块,例如

<block type="navigation/dropdown" name="product_list" template="catalog/product/list_dropdown.phtml"/>

希望这可以帮助,
JD

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM