[Помогите] Фильтр товаров в админке

Тема в разделе "OpenCart", создана пользователем Eevvggeennyy, 4 мар 2015.

  1. Eevvggeennyy

    Eevvggeennyy

    Регистрация:
    11 июн 2013
    Сообщения:
    50
    Симпатии:
    0
    Здравствуйте. В админке фильтр товаров срабатывает только если вводить первое слово из названия товара. То есть если вводить в фильтре, например, слово "туфли", то после применения фильтра отобразятся только те товары, которые начинаются с этого слова, т.е. отобразиться товар "туфли мужские", а товар "мужские туфли" не отобразится.
    Подскажите как сделать так, чтобы товар отображался при вводе любого слова из названия товара, а не только первого?
     
  2. Bogdan

    Bogdan

    Регистрация:
    25 фев 2013
    Сообщения:
    228
    Симпатии:
    104
    В файле /admin/model/catalog/product.php найдите код
    Код:
    if (!empty($data['filter_name'])) {
        $sql .= " AND LCASE(pd.name) LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "%'";
    }
    
    и замените на
    Код:
    if (!empty($data['filter_name'])) {
         $words = explode(' ', $data['filter_name']);
         foreach ($words as $word) {
                $sql .= " AND LCASE(pd.name) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%'";
         }
    }
    
     
    KirillLyubimov, black_kasper и Eevvggeennyy нравится это.
  3. aleka1alex

    aleka1alex

    Регистрация:
    15 фев 2015
    Сообщения:
    249
    Симпатии:
    26
    Это в списке товаров или в редактировании товара?
     
  4. Bogdan

    Bogdan

    Регистрация:
    25 фев 2013
    Сообщения:
    228
    Симпатии:
    104
    Само собой в списке товаров
     
    KirillLyubimov и black_kasper нравится это.