IDの配列を使用してMagentoコレクションをフィルタリングすることはできますが、コレクションの結果は、フィルターに渡されたIDの順序で並べ替えられます。
例えば:
$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToFilter('entity_id', array(
'in' => array(1, 3, 2),
));
コレクションをループすると、特定の順序で商品が出てくるように、コレクションに1、3、2の順序で商品を配置したいと思います。
私が現在持っている唯一の選択肢は、製品の配列を手動で作成することです。
$productIds = array(1,3,2);
$collection = array();
foreach($productIds as $productId) {
$collection[] = Mage::getModel('catalog/product')->load($productId);
}
これは明らかに機能しますが、これを行うには醜い方法のようです。
純粋にmagentoコレクションを介してこれを行う方法はありますか?