在 magento 中按名称搜索产品并获取产品 ID 数组


Search Product by name in magento and get array of product ids

我想在magento中搜索特定商店的产品,并希望以编程方式获取数组中的所有product ids。 就像下面的方法一样,该方法将$searchstring作为参数,return $ids数组具有产品名称包含search string的所有产品的产品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  

搜索字符串是 temp,那么它应该返回 1,2,3,4,6 而不是 5,因为 temp 与具有 id = 5 的产品名称不匹配。

您始终可以将过滤器查询与"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;
}