Несколько артикулов в расширенном поиске


Я хочу добавить в Расширенный поиск возможность поиска товаров по многим артикулам. Как это сделать?

В запросе это выглядит как

sku=code&...

Я хочу, чтобы это выглядело как

sku=code,code,code$

Или

sku=code;code;code&
Author: Marek Badura, 2014-03-06

1 answers

Независимо от того, используете ли вы поиск Ajax или просто базовый поиск Magento, вы хотите переопределить поиск по каталогу AjaxController.php или ResultController.php. Таким образом, это позволит вам лучше манипулировать получаемыми данными, получая параметры артикула следующим образом:

$skus = $this->getRequest()->getParam('sku');

А затем создайте массив условий из вашего артикула:

foreach (explode(',', $skus) as $sku)
{
    $filters[] = array('attribute'=>'sku', 'like'=>'%'.$sku.'%');
}

При получении вашей коллекции продуктов вы можете использовать предыдущий фильтр следующим образом:

$yourCollection->addAttributeToFilter($filters);

Тогда ты должен быть хорошим, надеюсь, это поможет.

 2
Author: Julien Lachal, 2014-03-06 16:14:44