Es posible filtrar una colección de Magento usando una matriz de id PERO tienen los resultados de la colección ordenados por el orden de los identificadores pasados al filtro.Magento - Filtro de recopilación por matriz Mantener pedido
Por ejemplo:
$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToFilter('entity_id', array(
'in' => array(1, 3, 2),
));
me gustaría tener la colección de productos en orden, de manera que cuando 1,3,2 bucle a través de la colección que salen en ese orden específico?
La única alternativa actualmente tengo es crear manualmente una gran variedad de productos:
$productIds = array(1,3,2);
$collection = array();
foreach($productIds as $productId) {
$collection[] = Mage::getModel('catalog/product')->load($productId);
}
Obviamente, esto funciona, pero parece como una manera fea de hacer esto.
¿hay alguna manera de hacer esto puramente a través de las colecciones de magento?
Hola Gershon, gracias por la respuesta. Tiene sentido con respecto a attributeToSort pero el problema es que el ejemplo addAttributeToFilter anterior es solo un ejemplo, podría haber un número arbitrario de elementos en la matriz. Supongo que podría recorrer cada elemento y llamar a addAttributeToSort, pero luego entrar al territorio donde comencé con el ciclo para crear la colección como una matriz –