2

Magentoで、eav以外のコレクションを使用する場合、並べ替え順序を追加するための最良の方法は何ですか?

eavコレクションでは、これを行うための便利な方法があると思いますが、eav以外では、同じ機能はないようです。

4

4 に答える 4

10

両方の Magento コレクション スーパークラス (Mage_Core_Model_Resource_Db_Collection_AbstractおよびMage_Eav_Model_Entity_Collection_Abstract) は、コレクション スーパークラスから 3 つのパブリック コンビニエンス メソッドを継承しますVarien_Data_Collection_Db

EAV コレクション スーパークラスは、別のメソッド を提供します。このメソッドはaddAttributeToSort()、ソートのために属性がコレクションに確実に結合されるようにします。

Vinai彼の tumblr で指摘しているように、これらのメソッドがいつ、どのように動作するかについて、いくつかの考慮事項があります。

于 2012-07-05T23:46:23.550 に答える
4

カスタムモジュールコレクション(フラットコレクション)をソートするために私にとってうまくいった唯一の方法は、次のように使用することです:

$sortField = 'field-goes-here';
$direction = 'ASC'; //or 'DESC'
$collection->getSelect()->order($sortField , $direction);

お役に立てれば。

于 2012-07-06T06:35:29.663 に答える
2

これを試してください

$_productCollection=Mage::getResourceModel('catalog/product_collection')->addCategoryFilter($_category)->setOrder('field-goes-here', 'DESC');
于 2012-10-25T12:05:56.513 に答える