Jump to content
Sign in to follow this  
Maxim37

Не работает поиск на сайте на Opencart 2.3.0.2

Recommended Posts

Доброго времени суток. Помогите плиз. Не работает поиск на сайте salut.qdes.ru (не реагирует ни на кнопку ни на Enter). На сайте используется шаблон Unishop.

Кусок header.tlp

<div id="search" class="col-xs-12 col-sm-6 col-md-<?php if($menu_type == 1) { ?>5<?php } else { ?>4<?php } ?> col-lg-5 hidden-sm col-md-pull-4"><?php echo $search; ?></div>

в commom.js

$('body').on('click', '#search ul li', function () {
        $('#search .cat_id button span').text($(this).text());
        $('#search input[name=\'filter_category_id\']').val($(this).attr('data-id'));
        $('#search .cat_id button span').css('width', 'auto');
        $('#search .cat_id button span + span').remove();
        if ($('#search .cat_id button span').width() > 90) {
            $('#search .cat_id button span').css('width', 90).after('<span>...</span>');
        }
    });

    $('body').on('click', '.search', function() {
        url = $('base').attr('href') + 'index.php?route=product/search';
        var value = $(this).parent().parent().find('input[name=\'search\']').val();
        if (value) {
            url += '&search=' + encodeURIComponent(value);
        }
        var filter_category_id = $(this).parent().parent().find('input[name=\'filter_category_id\']').val();
        if (filter_category_id > 0) {url += '&category_id=' + encodeURIComponent(filter_category_id);}
        location = url;
    });

    $('body').on('keydown', '#search input[name=\'search\']', function(e) {
        if (e.keyCode == 13) {
            $(this).parent().find('button.search').trigger('click');
        }
    });
    
    $('#search_phrase a').on('click', function() {
        $(this).parent().prev().find('.form-control.input-lg').val($(this).text());
        $(this).parent().prev().find('.search').trigger('click');
    });

Сломал всю голову...

Share this post


Link to post
Share on other sites

замените .size() на .length

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By SirGrey
      Модуль расширяет возможности стандартного поиска.
      Добавляет поиск по категориям
       
      Довольно часто на сайтах встречается модуль живого поиска с категориями.
      Но при переходе на результаты поиска клиент видит только товары.
      Модуль исправляет это и выводит в результатах поиска категории которые соответствуют поисковому запросу.
       

       
    • By SirGrey
      350.00 руб
      Скачать/Купить дополнение


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

       
      Добавил SirGrey Добавлено 25.06.2020 Категория Поиск Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3 ocStore 3.0
      2.3 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Нет Старая цена 0  
    • By matroskin92
      Скачать/Купить дополнение


      Живой поиск с категориями
      Настраиваемый живой поиск с категориями для Opencart 3. 
       
      Модуль позволяет искать товары без перезагрузки страницы по названию, по описанию, по модели, артикулу и т.д, дополнительно разбивая товары по категориям, что делает процесс поиска для пользователя невероятно удобным.
       
      ДЕМО
      Opencart 3 \ ocStore 3 (demo/demo)   
      УСТАНОВКА
      Установите модуль через стандартный установщик Перейдите к настройкам модуля "Горячий поиск" Осуществите первичную настройку модуля (практически каждое поле содержит справочную информацию по настройке) Обновите кэш модификаторов Попробовать найти свой товар на сайте Поставить оценку и отзыв модулю
      ВАЖНАЯ ОСОБЕННОСТЬ
      Если Вы счастливый обладатель сборки ocStore, то в настройках на первой странице вы можете включить дополнительную опцию (она так и называется ocStore), которая позволит вам не дублировать товары в разных категориях, тем самым увеличивая точность вывода результатов поиска.
       
      ПОДДЕРЖКА
      Техническая поддержка осуществляется на уровне консультации на форуме или в личных сообщениях без подключения к вашему сайту.
       
      ДРУГИЕ ВЕРСИИ OPENCART
      Не будет.
      Добавил matroskin92 Добавлено 24.10.2019 Категория Поиск Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет Старая цена 0  
    • By DimaScorpio
      Привет всем
      Подскажите как реализовать поиск по статьям
      /index.php?route=information/information&information_id=8
      обычный поиск ищет только по ссылкам
      /index.php?route=product/product&product_id=3
       
      ниже код из search.php
      <?php use js3\js3\Controller; use js3\Utils\Arr; class Controllerjs3Search extends Controller { public function index() { $search = Arr::get($this->request->get, 'search'); $category_id = Arr::get($this->request->get, 'category_id'); $url = ''; if ($search) { $url .= '&search=' . urlencode(html_entity_decode($this->request->get['search'], ENT_QUOTES, 'UTF-8')); } $limit = (int)$this->js3->settings->get('searchStyleSearchAutoSuggestLimit'); if (!$limit) { $limit = 10; } $filter_data = array( 'filter_name' => $search, 'filter_description' => $this->js3->settings->get('searchStyleSearchAutoSuggestDescription'), 'start' => 0, 'limit' => $limit, ); if ($category_id) { $filter_data['filter_category_id'] = $category_id; } $this->load->model('js3/filter'); $this->load->model('js3/image'); $products = array(); $results = $this->model_js3_filter->getProducts($filter_data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_js3_image->resize($result['image'], $this->js3->settings->get('image_dimensions_autosuggest.width'), $this->js3->settings->get('image_dimensions_autosuggest.height'), $this->js3->settings->get('image_dimensions_autosuggest.resize')); $image2 = $this->model_js3_image->resize($result['image'], $this->js3->settings->get('image_dimensions_autosuggest.width') * 2, $this->js3->settings->get('image_dimensions_autosuggest.height') * 2, $this->js3->settings->get('image_dimensions_autosuggest.resize')); } else { $image = $this->model_js3_image->resize('placeholder.png', $this->js3->settings->get('image_dimensions_autosuggest.width'), $this->js3->settings->get('image_dimensions_autosuggest.height'), $this->js3->settings->get('image_dimensions_autosuggest.resize')); $image2 = $this->model_js3_image->resize('placeholder.png', $this->js3->settings->get('image_dimensions_autosuggest.width') * 2, $this->js3->settings->get('image_dimensions_autosuggest.height') * 2, $this->js3->settings->get('image_dimensions_autosuggest.resize')); } $price = false; $special = false; if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']); if ((float)$result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']); } } $products[] = array( 'quantity' => (int)$result['quantity'], 'price_value' => $result['special'] ? $result['special'] > 0 : $result['price'] > 0, 'product_id' => $result['product_id'], 'name' => html_entity_decode($result['name'], ENT_QUOTES, 'UTF-8'), 'thumb' => $image, 'thumb2' => $image2, 'price' => $price, 'special' => $special, 'href' => $this->url->link('product/product', '&search=' . urlencode(html_entity_decode($this->request->get['search'], ENT_QUOTES, 'UTF-8')) . '&product_id=' . $result['product_id'] . $url), ); } if ($products) { $url = ''; if (isset($this->request->get['search'])) { $url .= '&search=' . urlencode(html_entity_decode($this->request->get['search'], ENT_QUOTES, 'UTF-8')); } if ($this->js3->settings->get('searchStyleSearchAutoSuggestDescription')) { $url .= '&description=true'; } if (isset($this->request->get['category_id'])) { $url .= '&category_id=' . $this->request->get['category_id']; } if (isset($this->request->get['sub_category'])) { $url .= '&sub_category=' . $this->request->get['sub_category']; } $products[] = array( 'view_more' => true, 'name' => $this->js3->settings->get('searchStyleSearchViewMoreText'), 'href' => $this->url->link('product/search', $url), ); } else { $products[] = array( 'no_results' => true, 'name' => $this->js3->settings->get('searchStyleSearchNoResultsText'), ); } $this->renderJson('success', $products); } } вот кусочек кода еще из js
      // Search var $search = $('#search').find('input[name=\'search\']'); $('.search-button').on('click', function () { var url = $(this).data('search-url'); var value = $search.val(); var category_id = parseInt($search.attr('data-category_id')); if (value) { url += encodeURIComponent(value); } if (js['searchStyleSearchAutoSuggestDescription']) { url += '&description=true'; } if (category_id) { url += '&category_id=' + category_id; } location = url; }); $search.on('keydown', function (e) { if (e.keyCode === 13) { $('.search-button').trigger('click'); } }); $('.search-categories li').on('click', function (e) { e.stopPropagation(); var $this = $(this); $('.search-categories-button').html($this.html()); $search.attr('data-category_id', $this.attr('data-category_id')) }); // Autosuggest if (js['searchStyleSearchAutoSuggestStatus']) { $search.typeahead({ hint: true, minLength: 1, autoSelect: true }, { async: true, display: 'name', limit: Infinity, source: function (query, processSync, processAsync) { var data = { search: query }; var category_id = parseInt($search.attr('data-category_id')); if (category_id) { data.category_id = category_id; } return $.ajax({ url: 'index.php?route=js3/search', data: data, dataType: 'json', success: function (json) { return processAsync(json['response']); } }); }, templates: { suggestion: function (data) { if (data['view_more']) { return '<div class="search-result view-more"><a href="' + data['href'] + '">' + data['name'] + '</a></div>'; } if (data['no_results']) { return '<div class="search-result no-results"><a>' + data['name'] + '</a></div>'; } var html = ''; html += '<div class="search-result"><a href="' + data['href'] + '">'; if (data['thumb']) { html += '<img src="' + data['thumb'] + '" srcset="' + data['thumb'] + ' 1x, ' + data['thumb2'] + ' 2x" />'; } var classes = []; if (data['quantity'] <= 0) { classes.push('out-of-stock'); } if (!data['price_value']) { classes.push('has-zero-price'); } html += '<span class="' + classes.join(' ') + '">'; html += '<span class="product-name">' + data['name'] + '</span>'; if (data['price']) { if (data['special']) { html += '<span><span class="price-old">' + data['price'] + '</span><span class="price-new">' + data['special'] + '</span></span>'; } else { html += '<span class="price">' + data['price'] + '</span>'; } } html += '</span>'; html += '</a></div>'; return html; } } }); $('.header-search > span > div').addClass('.tt-empty');  
       
      Меняя с product_id  на  information_id  
      Поиск ни чего не видит
      Если есть такой модуль  по поиску описания в товарах , статьях , производителя и тд   дайте знать
    • By Bn174uk
      Модуль позволяет через telegram управлять сайтом.
      Это пилотная версия модуля для понимания актуальности дальнейшего развития его.
       

      У кого хостинг располагается на территории России есть вероятность, что модуль не будет работать из-за блокировки telegram-а в России. с 18 июня 2020г. в РФ официально больше не блокирует телеграм.

      В данный момент, что уже реализовано:
      Просмотр заказов(общий список и развернутая информация по заказу); Поиск товаров(пока не рекомендую его использовать, если по ключевому слову может быть найдено более 10 товаров) Просмотр товара(пока информация о заказе статичная, а именно нельзя выбирать что отображать)
      Demo bot

      Команды бота:
      /start - начала работы с ботом /orders - вывод заказов /calendar - вызов календаря /pN - где N - id товара, /order_N - где N - номер заказ  
      Что в планах реализовать:
      сделать сортировку заказов; изменения информации о заказе; просмотр зарегистрированных пользователей; и т.д. идей много, и готовы выслушать и другие предложения чего бы хотелось видеть в модуле.
      Инструкция по настройке:

      Шаг 1:
      Зайдите в Telegram, в поиске найдите бота BotFather и начните с ним общение. Напишите боту команду /newbot - это команда для создания нового бота. BotFather в ответ напишет, чтобы Вы написали имя бота. Напишите обратным сообщением это имя (Например: Бот для уведомлений о заказах) - это имя можно потом поменять. После ввода имени BotFather запросит ввести username (публичное имя бота) оно должно иметь окончание bot (Например: cmsshopbot или cmsshop_bot); Если такое имя не занято, то в ответ получите сообщение с token вашего нового бота; Перейдите по ссылке на своего бота из сообщения либо найдите его в поиске по username (которое указали) и нажмите /start. Это надо для того, чтобы бот смог Вам писать. Без этого Вы не сможете получать уведомления. Шаг 2:
       
      Выберите нужную версию модуля в зависимости от Вашей версии opencart; Cодержимое папки upload(admin,catalog,system) залить на сайт через ftp.
      Шаг 3:
      После перейдите в расширения->модули и найдите "A-Управление сайтом через Telegram"" активируйте его; Зайдите в настройки модуля; Укажите token(в поле "Токен бота") который выдал Вам бот BotFather; Укажите ID юзера кто имеет доступ к боту, а именно к его командам. Если нужно, чтобы доступ был к нескольким пользователям, укажите через запятую эти ID (Например: 12222222222,22222223333,333333333); Как узнать свой ID в Telegram  Все, бот настроен и готов к использованию.
      Для активации модуля писать в ЛС или на почту.

      Системные требования:
      PHP 5.6 или выше; curl; на сайте должен быть https(без него модуль не будет работать);  
      Техническая поддержка:
      Техническая поддержка осуществляется всем пользователям, легально купившим модуль на оф.сайтах либо у самого автора.

      По всем вопросам и предложениям писать [email protected]
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.