在Magento中,Varien_Data_Collection
类为排序做出了规定,但它最终通过Varien_Data_Collection_Db
方法将工作留给了扩展类(通常是load
)。
但是,是否有人已完成了Varien_Data_Collection
可排序的通用实例的工作?
我的意思是使用一些狡猾的PHP用户排序功能。并不是说我很懒,但如果它已经存在,重新发明轮子似乎需要做很多工作。
有人有解决方案吗?
答案 0 :(得分:1)
类Varien_Data_Collection_Filesystem
有一些示例代码,用于使用usort对文件和目录进行排序。如果你有一个扩展Varien_Data_Collection的自定义集合类,你可以像filesytem类一样实现自己的排序函数。它对集合加载方法应用排序,该方法最终具有使用指定排序顺序($ collection-> setOrder('sort_attribute'))进行回调的回调函数。据我所知,没有现成的方法可以做到这一点,主要是因为magento对db数据进行了大多数排序,这可以通过sql实现,这对性能要好得多。