Блог

22.08.14

Поиск товаров и товаров-ссылок

Очевидно, что без удобной навигации на сайте, поиска и фильтрации товаров, даже если сайт будет привлекателен в плане цены, качества или условий доставки товара, есть огромный риск, что пользователь не найдет нужный товар и не совершит покупку. В данной статье мы попробуем раскрыть тонкости поиска Амиро.CMS, что позволит настроить его более эффективно и произвести корректную настройку каталога.

Типы поиска

Поиск в Амиро разделяется на 2 вида: «быстрый» и «медленный». На самом деле, «медленный» поиск — это всего лишь внутреннее название, используемое в JavaScript коде фильтра для различия между типами поиска, он медленнее только потому, что при поиске по подкатегориям приходится производить поиск по большему объему товаров.

Рассмотрим таблицу, в которой приводятся ссылки на стандартный демо-сайт Амиро версии «Бизнес» (пример результатов поиска на стандартном демо-сайте можно посмотреть, кликнув на иконку ):

Тип поиска Быстрый   Медленный   Пример
Глубина поиска Только текущая категория Все подкатегории текущей категории
Поиск товаров-ссылок Да Нет Товар-ссылка «Ферма малая»  не показывается в результатах медленного поиска
Показ «хлебных крошек» Да Нет
Выводится количество найденных товаров Нет Да
Вывод подкатегорий текущей категории Да Нет
Вывод категории найденного товара Нет Да
Зависит от настройки «Включать в список товары всех подкатегорий, начиная с уровня» Да Нет Настройки модуля «Каталог: Товары», раздел «Настройка отображения подкатегорий»

Возникает вопрос, зачем нужны два различных типа поиска? Быстрый поиск предназначен, прежде всего, для поиска товаров в конечной категории. Медленный поиск — поиск по всему сайту, и он не должен содержать дублирующие товары.

Выбор типа поиска

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

  1. Категория 1, у которой 2 подкатегории:
  2. Категория 1.1 - тут размещается товар
  3. Категория 1.2 - тут размещается ссылка

Особенность. Существует настройка "Включать в список товары всех подкатегорий, начиная с уровня"(Настройки модуля «Каталог: Товары», раздел «Настройка отображения подкатегорий»), который позволяет включать в список текущей категории товары из подкатегорий. Если в примере выше "категория 1" имеет уровень больший, чем указан в данной настройке, например, у категории 1 уровень 3, а в параметре указано значение = 2, то быстрый поиск начинает работать по-другому. Назовем его "новый поиск". Рассмотрим более простую версию таблицы поиска, касающуюся только товаров-ссылок.

Тип поиска Ищет товары-ссылки Комментарий
Быстрый Да
Новый Да Только если параметр «Включать в список товары всех подкатегорий, начиная с уровня» не больше, чем уровень категории товара-ссылки
Медленный Нет

Теперь посмотрим, что будет найдено в соответствующем типе поиска, предполагая, что товар и товар-ссылка удовлетворяют всем остальным критериям поиска. То есть, считаем, что единственный ключевой параметр — это тип поиска.

Рассмотрим таблицу производимого поиска. Зеленым фоном будем помечать, если поиск дает желаемый результат, желтым — частично верный результат, красным — не желаемый результат.

Где идёт поиск Что попадает в фильтр Быстрый Новый Медленный
Категория 1 Товар, ссылка - Товар, Ссылка Товар
Категория 1.1 Товар Товар Товар Товар
Категория 1.2 Ссылка Ссылка Ссылка -

Таким образом, у каждого из типов поиска есть свои особенности:

  1. Медленный - не ищет товары-ссылки, но не дает дублей товаров 
  2. Быстрый - ищет только в текущей категории
  3. Новый - может вывести дубли товаров (и товары, и ссылки)

Настройка оптимального поиска

Когда стали ясны различия между типами поиска, мы предлагаем решение, которое на наш взгляд является максимально удобным: 

  1. В конечных категориях (у которых нет подкатегорий) искать быстрым поиском (найдутся товары-ссылки)
  2. В категориях, у которых есть подкатегории, искать медленным (НЕ найдутся товары-ссылки)

Произведем данную настройку.

Добавляем создание «флага», что у категории нет подкатегорий. Шаблон templates/eshop_catalog.tpl, сет catD_empty, добавляем конструкцию ##setglobalvar @__uz_no_subcats=1##, пример:

##setglobalvar @__uz_no_subcats=1##
<div class="eshop-cat-detailed">
<div class="eshop-cat-detailed__announce">
<announce>##announce##</announce>
</div>
</div>

Добавляем обработку флага в шаблоне фильтра. Шаблон templates/filter_form.tpl, сет field_subcats_search, заменяя checked="checked" на ##if(!__uz_no_subcats)##checked="checked"##endif##, пример:

<div class="form__additional-flag">
  <label class="form__checkbox-label">
    <input class="form__checkbox" ##if(!__uz_no_subcats)##checked="checked"##endif##
helpId="##help_id##" type="checkbox" name="search_subcats" ##checked##
value="##value## "id="flt_search_subcats" />
<span class="form__checkbox-label-text">##caption##<span>
</label>
</div>

Теперь можно убедиться, что в категориях, у которых есть подкатегории, включается галочка «искать в подкатегориях» (медленный поиск), а для конечных категорий данная галочка выключена (быстрый поиск), что нам и требовалось.

Дополнительно можно сделать данную галочку невидимой, чтобы избежать возможных ошибок, если пользователь захочет изменить логику поиска.

Особенность, о которой нужно знать, реализуя указанную схему. Рассмотрим ее на конкретном примере:

  1. Категория 1
  2. Категория 1.1 - тут только ссылки
  3. Категория 1.2 - тут только ссылки

Поиск по категории 1 не даст ничего, если в подкатегорях есть только товары-ссылки: медленный не ищет ссылки, а в подкатегориях только товары-ссылки. Но при этом поиск в подкатегориях 1.1 и 1.2 будет находить товар-ссылку, потому что будет работать быстрый поиск.

Замечания:

  1. Данное решение будет работать как в фильтре на странице товаров, так и в спецблоке фильтра.
  2. Поиск по названию товара всегда считается "медленным", для изменения поведения необходимо сделать дополнительные обработчики формы поиска.

Выводы

  1. Зная, как работает поиск, можно построить максимально эффективную архитектуру каталога с точки зрения поиска.
  2. Оптимальное на наш взгляд решение настраивается за 2 простых шага, которые может сделать любой владелец сайта, не прибегая к помощи программиста.
UPD. Модуль "Фильтр 2.0" по умолчанию имеет поддержку оптимального решения по поиску начиная с обновления 1961 от 17.11.14.
Все записи

Комментарии

Евгений Лозовой | 22.10.14 08:54
Спасибо, то, что надо.

Ответ: надеемся, что наш опыт поможет в создании верной архитектуры и решений. Вы всегда можете данную полезную информацию на почту, подписавшись в личном кабинете на рассылку "Эффективное использование Амиро.CMS".
 
OXOJeck | 20.10.14 11:14
Отличная статья. Помогла

Ответ: всегда рады помочь.
Правильный угол зрения на природу сайтостроения
(383) 310-63-21

Заказать звонок

ФИО:*
Телефон:*
Комментарий(вопрос):*



* Обязательные поля

Личный кабинет
Каталог модулей
Случайные модули
Популярные модули
Авторизация от имени пользователя
1,990 руб.

Модуль позволяет осуществлять авторизацию на сайте от имени пользователя, что дает возможность создавать заказы от его имени.

Последние просмотренные элементы
1,990 руб.

Модуль позволяет запоминать в истории посещений последние элементы, которые просматривал пользователь.


Отзывы
Контакты    Карта сайта    Вакансии    Вопрос-ответ    Оплата
Работает на: Amiro CMS