在Magento中,当使用非eav集合时,添加排序顺序的最佳方式是什么?
有了eav集合,我相信有一些方便的方法可以做到这一点,但对于非eav,似乎没有相同的工具。
发布于 2012-07-06 07:46:24
两个Magento集合超类(Mage_Core_Model_Resource_Db_Collection_Abstract和Mage_Eav_Model_Entity_Collection_Abstract)都从集合超类Varien_Data_Collection_Db继承了三个公共便利方法
setOrder()addOrder(),setOrder()unshiftOrder(),的别名,用于将排序参数移动到第一个位置EAV集合超类提供了另一个方法addAttributeToSort(),该方法确保将属性联接到集合上以进行排序。
由于Vinai具有pointed out on his tumblr,因此在这些方法将如何以及何时运行方面有一些考虑因素。
发布于 2012-07-06 14:35:30
对我来说,对自定义模块集合(平面集合)进行排序的唯一方法是使用如下方法:
$sortField = 'field-goes-here';
$direction = 'ASC'; //or 'DESC'
$collection->getSelect()->order($sortField , $direction);希望这能有所帮助。
发布于 2012-10-25 20:05:57
试试这个
$_productCollection=Mage::getResourceModel('catalog/product_collection')->addCategoryFilter($_category)->setOrder('field-goes-here', 'DESC');https://stackoverflow.com/questions/11352128
复制相似问题