Вопрос По Поиску

Понял. А как в коде изменить?

design/themes/responsive/templates/common/search.tpl

pshort - это краткое описание

pfull - это полное

и т.д.

design/themes/responsive/templates/common/search.tpl

pshort - это краткое описание

pfull - это полное

и т.д.

Понял, а что конкретно нужно поменять, чтобы поиск выдавал варианты только по словам в названии товара и в теговых словах для поиска (чтобы не брал из текста описания)

Понял, а что конкретно нужно поменять, чтобы поиск выдавал варианты только по словам в названии товара и в теговых словах для поиска (чтобы не брал из текста описания)

Поменяйте значения для pshort и pfull на N

Поменяйте значения для pshort и pfull на N

Поменял, все осталось как было. По прежнему ищет по словам в тексте описания товара.

Поменял, все осталось как было. По прежнему ищет по словам в тексте описания товара.

Кэш шаблонов почистили?

В файле app/controllers/frontend/products.php в разделе $mode == 'search' есть строка $params['extend'] = array('description'). Она тоже указывает, что искомое выражение будет также искаться в описании.

В файле app/controllers/frontend/products.php в разделе $mode == 'search' есть строка $params['extend'] = array('description'). Она тоже указывает, что искомое выражение будет также искаться в описании.

Эта строка лишь указывает на то, какие поля брать из базы данных, но не какие использовать для поиска.

Понял, а что конкретно нужно поменять, чтобы поиск выдавал варианты только по словам в названии товара и в теговых словах для поиска (чтобы не брал из текста описания)

Попробуйте в файле app/functions/fn.catalog.php закомментировать вот эти строчки:

if ($params['pshort'] == 'Y') {
                $tmp .= db_quote(" OR descr1.short_description LIKE ?l", '%' . $piece . '%');
                $tmp .= db_quote(" OR descr1.short_description LIKE ?l", '%' . htmlentities($piece, ENT_QUOTES, 'UTF-8') . '%');
            }
            if ($params['pfull'] == 'Y') {
                $tmp .= db_quote(" OR descr1.full_description LIKE ?l", '%' . $piece . '%');
                $tmp .= db_quote(" OR descr1.full_description LIKE ?l", '%' . htmlentities($piece, ENT_QUOTES, 'UTF-8') . '%');
            }
1 лайк

Да уж, это наверняка

Поставьте модуль из 3 поста. Код открытый, никаких стучалок, проверен временем, бесплатный

Поставьте модуль из 3 поста. Код открытый, никаких стучалок, проверен временем, бесплатный

что-то ваш сайт не грузится

Попробуйте в файле app/functions/fn.catalog.php закомментировать вот эти строчки:

if ($params['pshort'] == 'Y') {
                $tmp .= db_quote(" OR descr1.short_description LIKE ?l", '%' . $piece . '%');
                $tmp .= db_quote(" OR descr1.short_description LIKE ?l", '%' . htmlentities($piece, ENT_QUOTES, 'UTF-8') . '%');
            }
            if ($params['pfull'] == 'Y') {
                $tmp .= db_quote(" OR descr1.full_description LIKE ?l", '%' . $piece . '%');
                $tmp .= db_quote(" OR descr1.full_description LIKE ?l", '%' . htmlentities($piece, ENT_QUOTES, 'UTF-8') . '%');
            }

Это помогло, спасибо

что-то ваш сайт не грузится

Странно. По логам никаких проблем в это время не было

Полдня мучался с этими Y и N в файле настроек поиска...

Даже выставляя все параметры в N - поиск не реагировал ни на что и искал как будто все включено.

Поборол только удалением лишних строк в fn.catalog.php

Однозначно где-то косяк и настройки не работают.

Версия 4.3.5

А Екомовский поиск поставил, настроил, только так не понял как его использовать... :(

Мне тоже помог этот способ исправления поиска. Мне кажется, это маленькое изменение в коде нужно сделать по умолчанию в новых релизах. Выдача стала меньше и чище - находится все что нужно. До этого использовать штатный поиск было невозможно, равно как и поиск Яндекса.

А как работать с порядком выдачи по поиску?

Только через стандартные настройки в Настройки -> Внешний вид

Но это повлияет на порядок выдачи и в категориях

Какие есть возможности сделать результаты поиска более релевантными без отключения поиска в каких-то частях карточки товара? Например, вначале вывести товары, где поисковая фраза встречается в названии товара, затем те товары, у которых нет в названии, но есть в ключевиках, затем те товары, у которых фразы нет ни в названии, ни в ключевиках, но есть в описании.

В CS-Cart релевантности нет. Только через Searchanise

1 лайк

Ваш сайт не резолвится и, соответственно, не открывается у меня уже давно. Провайдер Билайн, Москва.
Приходится в Опере включать VPN.
Думаю сами понимаете кто виноват…