2013-10-03 132 views

回答

3

在magento中沒有直接過濾來獲得具有自定義選項的產品。 使用以下代碼:

$collection = Mage::getModel('catalog/product') 
      ->getCollection(); 
$collection->getSelect() 
    ->join(
     array(
      'opt_table' => new Zend_Db_Expr('(SELECT DISTINCT(product_id) as `opt_product_id` FROM catalog_product_option)') 
     ), 
     'opt_product_id = entity_id', 
     'opt_product_id' 
); 


foreach($collection as $product) { 
    //Load the product if required 
} 
+0

我正在一個例外:致命錯誤:未捕獲的異常「異常」與消息「項(Mage_Catalog_Model_Product)具有相同id‘6’已經存在」中d:\瓦帕\ WWW \ rfg \ lib \ Varien \ Data \ Collection.php:373堆棧跟蹤:#0 – Muk

+0

@Muk我通過使用內部查詢更新了答案...如果您有許多帶有自定義選項的產品,可能會稍微慢一點。 – Nidheesh

+0

您的代碼現在運行良好。我共有43000個產品進行測試。在這種情況下,速度足夠快嗎? – Muk

相關問題