dongtan1009 2013-10-09 11:24
浏览 71
已采纳

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

I want to search product of a particular store in magento and want to get all product ids in the array programmatically. like the below method which takes $searchstring as parameter and return $ids array which has product ids of all those products where the name of product has contain the search string.

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

Like :- If we have following Products on Catalog

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

and search string is temp then it should return 1,2,3,4,6 not 5 because temp not matched with name of product which has id = 5.

  • 写回答

1条回答 默认 最新

  • douchuanhan8384 2013-10-09 11:58
    关注

    You can always use filter query with 'like'.

    Give it a try...

    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;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面