2013-10-09 114 views
5

我想在magento中搜索特定商店的產品,並且想要以編程方式獲取數組中的所有product ids。如下面的方法,其中$searchstring作爲參數,return $ids數組具有產品名稱包含​​的所有產品的產品ID。在magento中按名稱搜索產品並獲取產品ID數組

function getProductIdsBySearch($searchstring, $storeId) { 
    $ids = array(); 
    // 
    // Code to Search Product by $searchstring and get Product IDs 
    // 
    return $ids; 
} 

,如: - 如果我們有如下的目錄產品

ID  Product Name 
1  Temp 
2  ProductTemp 
3  ProductTempData 
4  ABCTEMPXYZ 
5  ABCXYZ 
6  Tempdata 

和搜索字符串是臨時那麼它應該返回1,2,3,4,6不是5,因爲溫度id = 5的產品名稱不匹配。

回答

9

你總是可以用'like'來使用過濾器查詢。

試試看......

function getProductIdsBySearch($searchstring, $storeId = '') { 
    $ids = array();  

    // Code to Search Product by $searchstring and get Product IDs 
    $product_collection = Mage::getResourceModel('catalog/product_collection') 
        ->addAttributeToSelect('*') 
        ->addAttributeToFilter('name', array('like' => '%'.$searchstring.'%')) 
        ->load(); 

    foreach ($product_collection as $product) { 
     $ids[] = $product->getId(); 
    } 
    //return array of product ids 
    return $ids; 
} 
+0

@Shashi:它的工作原理吧:) – dashbh

+0

感謝麥這是工作...! – Shashi

+0

它應該在哪裏使用?如何使用它 ?修改哪些文件???????? –