Prestashop 1.4 поиск по артикулу

Автор martin_47, 15 октября 2014, 12:19:46

« назад - далее »

martin_47

Доброго всем, в карточке товара есть артикул, но стандартный поиск не ищет по нему. Как быть?

Svan

В Настройках - Поиск, можно создавать любые псевдонимы. Включите там артикул и пересоздайте индексы.

coder

В настройках поиска увеличьте вес у артикла и переиндексируйте.

Проверьте файл 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);
}

martin_47

Спасибо за ответ, но вопрос  - я не нашел файла SearchEngine.php, может быть проблема в версии престашоп 1.4. Не знаете какой php  файл отвечает за выборку поиска из бд?

tigran

В prestashop 1.4 для поиска 2 класса:
/classes/Search.php
/classes/SearchEngine.php

martin_47

Спасибо большое - действительно заработало, индексация помогла