Вход • Регистрация

Поле для ввода названия товара в поиске магазина

  • 04 февраля 2017 г.
  • Есть 2 блока с поиском: один по магазину - второй глобальный как я понимаю. В том, который от магазина есть поля "Артикул", "акция" и т.д. Но нет САМОГО ГЛАВНОГО поля с названием товара. Как его туда вставить?
    • 04 февраля 2017 г.
    • один как Вы сказали глобальный, а второй не совсем поиск, а фильтр товаров
      • 04 февраля 2017 г.
      • Я понимаю, но тем не менее крайне необходимо в этот блок фильтра воткнуть поле "название товара".
    • 04 февраля 2017 г. , редакция: 08 февраля 2017 г.
    • Поле было раньше, его убрали из поиска по каталогу магазина, потому что работало медленно и есть полнотекстовой поиск, который ищет по сайту, в том числе товары.

      Вот есть плагин, возвращающий этот функционал: https://addons.diafan.ru/modules/modules-and-services/filtr-tovarov-po-nazvaniyu/

      Насколько я помню, в фильтре появится поле для ввода текста, которое будет искать совпадения по названию.

      Я реализовывал эту штуку по-другому:
      в шаблоне фильтра по каталогу создавал поле <select> и внутрь него выводил шаблонный тег каталога магазина через отдельный шаблон. В шаблоне через цикл выводил <options> для select`a, в <option> вкладывал название товара, а в его параметр выводил ссылку на товар.

      Для самого select написал маленькую функцию, которая по событию onchange брала данные из параметра выбранного option и осуществляла редирект в карточку выбранного товара.

      Выглядит приблизительно так - код для шаблона списка товаров магазина
      Код
      //товары в разделе
      if (!empty($result["rows"]))
      {
      echo '<div class="js_shop_search_param shop_search_param">
      <select onchange="location.replace(this.value);">
      <option value="0" class="default">наименование ―</option>';
      echo $this->get('rows_filter','shop',$result);
      echo '</select></div>';
      }
      код для шаблона вывода товаров в список:
      Код
      if(empty($result['rows'])) return false;

      foreach ($result['rows'] as $row)
      {
      echo '<option data-link="'.BASE_PATH_HREF.$row["link"].'" value="'.BASE_PATH_HREF.$row["link"].'">'.$row["name"].'</option>';
      }

      Внешне получается вот такая опция:

      • 04 февраля 2017 г.
      • Плагин что-то вообще не работает - вроде блок поиска отображается - но ищет только по тем критериям, что и "родной", игнорируя критерий с названием.
  • 04 февраля 2017 г.
  • Похоже у меня уже здоровья не хватит реализовать этот поиск КАК В ЛЮБОМ НОРМАЛЬНОМ МАГАЗИНЕ. Придется запилить обычный "глобальный поиск", а клиент пусть со своими хотелками отдыхает . Я уже тут сам с собой разговариваю, а глаза дико блестят .

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум