2012-11-01 15 views
11

seleziono prodotti conMagento collezione di prodotti con particolare id

$products = Mage::getModel('catalog/product')->getCollection()->addAttributeToFilter('entity_id', array('in' => $productIds)); 

come posso archieve che la raccolta si trova nello stesso ordine come gli ID di $ productIds?

grazie

risposta

20
$productIds = array(1,3,2); 
    $products = Mage::getModel('catalog/product')->getCollection() 
       ->addAttributeToFilter('entity_id', array('in' => $productIds)); 


    $products->getSelect()->order("find_in_set(entity_id,'".implode(',',$productIds)."')"); 

    foreach($products as $product) 
    { 
     echo $product->getEntityId(); 
     echo $product->getSku(); 
    } 

Vedi più @

+0

bella la mia soluzione è stata peggiore: $ Collezione> getSel ect() -> order ("(CASE e.entity_id WHEN $ p1path [1] THEN 1 WHEN $ p2path [1] THEN 2 WHEN $ p3path [1] THEN 3 ELSE 0 END)"); – wutzebaer

+0

@Renon Stewart: mi hai salvato giorni della mia vita. Grazie: D –

Problemi correlati