2013-10-09 9 views
5

Я хочу найти продукт определенного магазина в magento и хочу, чтобы все программные файлы product ids. как метод ниже, который принимает $searchstring как параметр и массив return $ids, который имеет идентификаторы продуктов всех тех продуктов, в которых имя продукта содержит search string.Поиск по названию в magento и получить массив идентификаторов продуктов

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

Благодаря Mak это работает ... !!! – Shashi

+0

Где его использовать? Как это использовать ? Какие файлы изменять? ???????? –

Смежные вопросы