Автор Тема: Prestashop 1.4 поиск по артикулу  (Прочитано 2154 раз)

15 Октября 2014, 12:19:46
  • Новичок
  • *
  • Сообщений: 16
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброго всем, в карточке товара есть артикул, но стандартный поиск не ищет по нему. Как быть?
15 Октября 2014, 12:43:06
Ответ #1
  • Пользователь
  • **
  • Сообщений: 67
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В Настройках - Поиск, можно создавать любые псевдонимы. Включите там артикул и пересоздайте индексы.
15 Октября 2014, 12:56:29
Ответ #2
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33026
  • Репутация: +26761/-0
    • Просмотр профиля
В настройках поиска увеличьте вес у артикла и переиндексируйте.

Проверьте файл SearchEngine.php в фунции поиска по бд должно быть поле "reference".
protected static function getProductsToIndex($nbLanguages, $limit = 50)
{
  // Adjust the limit to get only « whole » products, in every languages (and at least one)
  $limit = max(1, round($limit / $nbLanguages) * $nbLanguages);
  return Db::getInstance()->ExecuteS(‘
    SELECT p.id_product, pl.id_lang, pl.name pname, p.reference, p.ean13, p.upc, pl.description_short, pl.description, cl.name cname, m.name mname
    FROM ‘._DB_PREFIX_.’product p
    LEFT JOIN ‘._DB_PREFIX_.’product_lang pl ON p.id_product = pl.id_product
    LEFT JOIN ‘._DB_PREFIX_.’category_lang cl ON (cl.id_category = p.id_category_default AND pl.id_lang = cl.id_lang)
    LEFT JOIN ‘._DB_PREFIX_.’manufacturer m ON m.id_manufacturer = p.id_manufacturer
    WHERE p.indexed = 0
    LIMIT ‘.(int)$limit);
}
15 Октября 2014, 13:15:19
Ответ #3
  • Новичок
  • *
  • Сообщений: 16
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за ответ, но вопрос  - я не нашел файла SearchEngine.php, может быть проблема в версии престашоп 1.4. Не знаете какой php  файл отвечает за выборку поиска из бд?
15 Октября 2014, 13:48:50
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 1012
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В prestashop 1.4 для поиска 2 класса:
/classes/Search.php
/classes/SearchEngine.php
15 Октября 2014, 14:11:29
Ответ #5
  • Новичок
  • *
  • Сообщений: 16
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо большое - действительно заработало, индексация помогла