Jump to content
Sign in to follow this  
zemleroi

[Поддержка] Исключение категорий товаров из поиска ОС 1.5.x

Recommended Posts

Исключение категорий товаров из поиска ОС 1.5.x


Исключение категорий товаров из поиска ОС 1.5.x


Небольшое дополнение для магазина, позволяющее исключить товары определенных категорий из поиска (поисковой выдачи) магазина (так же распространяется и автокомлит).

Иногда бывают такие ситуации, когда есть необходимость продвижения определенных категорий товаров в магазине не только путем рекламирования, но также и в результате поиска по магазину. Если так, то это дополнение для вас

В отличии от "Исключение товаров из поиска" данное дополнение работает с категориями товаров, и из поиска исключаются все товары определенной категории

Требования:

1. OpenCart 1.5.x (проверялось на версиях 1.5.5.1, 1.5.3.4)

2. последняя версия vqmod

Демо: http://new.mozgo-prav.ru/admin/index.php?route=catalog/category

логин: demo

пароль:demo


 

Share this post


Link to post
Share on other sites

Модуль создавался под наши нужды. 
Так что как первый и пока единственный обладатель - могу сказать - все работает )
1.5.4.1 оксторе

Share this post


Link to post
Share on other sites
Posted (edited)

Актуально ли еще , нужно для Версия 1.5.5.1.2 ?

В демо пишет " У вас недостаточно прав для изменения категории"

Edited by papick

Share this post


Link to post
Share on other sites

Можно напрямую купить на Яндекс деньги закинуть вам? и он же должен подойти к 1.5.5.1.2

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 Chegi
      Товарищи, добрый день!
       
      Требуется помощь.
       
      Нужно под проект разработать поиск по каталогу, как на сайте https://vinyl.ru/
      Проблема в том что там будет 20 - 25 тысяч позиций в одной категории и нужно что бы все шустро работало. 
       
      Если есть готовое решение, то прошу подскажите пожалуйста, если нужно разрабатывать с нуля то прошу сообщить стоимость работ,
      а так же ориентировочные сроки.
       
      За ранее благодарю.
       
       
    • By matroskin92
      490.00 руб
      Скачать/Купить дополнение


      Живой поиск с категориями
      Настраиваемый живой поиск с категориями для Opencart 3. 
       
      Модуль позволяет искать товары без перезагрузки страницы по названию, по описанию, по модели, артикулу и т.д, дополнительно разбивая товары по категориям, что делает процесс поиска для пользователя невероятно удобным.
       
      ДЕМО
      Opencart 3 \ ocStore 3 (demo/demo)   
      УСТАНОВКА
      Установите модуль через стандартный установщик Перейдите к настройкам модуля "Горячий поиск" Осуществите первичную настройку модуля (практически каждое поле содержит справочную информацию по настройке) Обновите кэш модификаторов
      ВАЖНАЯ ОСОБЕННОСТЬ
      Если Вы счастливый обладатель сборки ocStore, то в настройках на первой странице вы можете включить дополнительную опцию (она так и называется ocStore), которая позволит вам не дублировать товары в разных категориях, тем самым увеличивая точность вывода результатов поиска.
       
      ПОДДЕРЖКА
      Поддержка осуществляется преимущественно в личных сообщениях, а так же по электронной почте support@matro.site
       
      ДРУГИЕ ВЕРСИИ OPENCART
      Нажимайте кнопку "Инвестировать" справа от описания. 
      Добавил matroskin92 Добавлено 24.10.2019 Категория Поиск Системные требования Сайт разработчика matro.site Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет  
    • By matroskin92
      Настраиваемый живой поиск с категориями для Opencart 3. 
       
      Модуль позволяет искать товары без перезагрузки страницы по названию, по описанию, по модели, артикулу и т.д, дополнительно разбивая товары по категориям, что делает процесс поиска для пользователя невероятно удобным.
       
      ДЕМО
      Opencart 3 \ ocStore 3 (demo/demo)   
      УСТАНОВКА
      Установите модуль через стандартный установщик Перейдите к настройкам модуля "Горячий поиск" Осуществите первичную настройку модуля (практически каждое поле содержит справочную информацию по настройке) Обновите кэш модификаторов
      ВАЖНАЯ ОСОБЕННОСТЬ
      Если Вы счастливый обладатель сборки ocStore, то в настройках на первой странице вы можете включить дополнительную опцию (она так и называется ocStore), которая позволит вам не дублировать товары в разных категориях, тем самым увеличивая точность вывода результатов поиска.
       
      ПОДДЕРЖКА
      Поддержка осуществляется преимущественно в личных сообщениях, а так же по электронной почте support@matro.site
       
      ДРУГИЕ ВЕРСИИ OPENCART
      Нажимайте кнопку "Инвестировать" справа от описания. 
    • By Iysus
      Ребята, мой поиск на сайте ищет по строгому соответствую только в названии товара. 
      Нужно чтобы был поиск по нестрогому сответствию как по названию, так и в описании. 
      Обычно для меня поиск это вот что-то такое  "SELECT * FROM MY_TABLE WHERE 1_col LIKE '%".$search."%'  OR 2_col LIKE '%".$search."%' "  примерно
      Зашла в код тут ого-го...всем совсем иначе
      Подскажите пожалуйста, что нужно дописать в коде чтобы  искать как с LIKE (по нестрогому  соответствию)?

      (Версия 2.3.0.2)
      Мой файл поиска 
      <?php class ControllerProductSearch extends Controller { public function index() { $this->load->language('product/search'); $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); if (isset($this->request->get['search'])) { $search = $this->request->get['search']; } else { $search = ''; } if (isset($this->request->get['tag'])) { $tag = $this->request->get['tag']; } elseif (isset($this->request->get['search'])) { $tag = $this->request->get['search']; } else { $tag = ''; } if (isset($this->request->get['description'])) { $description = $this->request->get['description']; } else { $description = ''; } if (isset($this->request->get['category_id'])) { $category_id = $this->request->get['category_id']; } else { $category_id = 0; } if (isset($this->request->get['sub_category'])) { $sub_category = $this->request->get['sub_category']; } else { $sub_category = ''; } if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } if (isset($this->request->get['limit'])) { $limit = (int)$this->request->get['limit']; } else { $limit = $this->config->get($this->config->get('config_theme') . '_product_limit'); } if (isset($this->request->get['search'])) { $this->document->setTitle($this->language->get('heading_title') . ' - ' . $this->request->get['search']); } elseif (isset($this->request->get['tag'])) { $this->document->setTitle($this->language->get('heading_title') . ' - ' . $this->language->get('heading_tag') . $this->request->get['tag']); } else { $this->document->setTitle($this->language->get('heading_title')); } $this->document->setDescription($this->config->get('config_meta_description')); $this->document->setKeywords($this->config->get('config_meta_keyword')); $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home') ); $url = ''; if (isset($this->request->get['search'])) { $url .= '&search=' . urlencode(html_entity_decode($this->request->get['search'], ENT_QUOTES, 'UTF-8')); } if (isset($this->request->get['tag'])) { $url .= '&tag=' . urlencode(html_entity_decode($this->request->get['tag'], ENT_QUOTES, 'UTF-8')); } if (isset($this->request->get['description'])) { $url .= '&description=' . $this->request->get['description']; } 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']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('product/search', $url) ); if (isset($this->request->get['search'])) { $data['heading_title'] = $this->language->get('heading_title') . ' - ' . $this->request->get['search']; } else { $data['heading_title'] = $this->language->get('heading_title'); } $data['text_empty'] = $this->language->get('text_empty'); $data['text_search'] = $this->language->get('text_search'); $data['text_keyword'] = $this->language->get('text_keyword'); $data['text_category'] = $this->language->get('text_category'); $data['text_sub_category'] = $this->language->get('text_sub_category'); $data['text_quantity'] = $this->language->get('text_quantity'); $data['text_manufacturer'] = $this->language->get('text_manufacturer'); $data['text_model'] = $this->language->get('text_model'); $data['text_price'] = $this->language->get('text_price'); $data['text_tax'] = $this->language->get('text_tax'); $data['text_points'] = $this->language->get('text_points'); $data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0)); $data['text_sort'] = $this->language->get('text_sort'); $data['text_limit'] = $this->language->get('text_limit'); $data['entry_search'] = $this->language->get('entry_search'); $data['entry_description'] = $this->language->get('entry_description'); $data['button_search'] = $this->language->get('button_search'); $data['button_cart'] = $this->language->get('button_cart'); $data['button_wishlist'] = $this->language->get('button_wishlist'); $data['button_compare'] = $this->language->get('button_compare'); $data['button_list'] = $this->language->get('button_list'); $data['button_grid'] = $this->language->get('button_grid'); $data['compare'] = $this->url->link('product/compare'); $this->load->model('catalog/category'); // 3 Level Category Search $data['categories'] = array(); $categories_1 = $this->model_catalog_category->getCategories(0); foreach ($categories_1 as $category_1) { $level_2_data = array(); $categories_2 = $this->model_catalog_category->getCategories($category_1['category_id']); foreach ($categories_2 as $category_2) { $level_3_data = array(); $categories_3 = $this->model_catalog_category->getCategories($category_2['category_id']); foreach ($categories_3 as $category_3) { $level_3_data[] = array( 'category_id' => $category_3['category_id'], 'name' => $category_3['name'], ); } $level_2_data[] = array( 'category_id' => $category_2['category_id'], 'name' => $category_2['name'], 'children' => $level_3_data ); } $data['categories'][] = array( 'category_id' => $category_1['category_id'], 'name' => $category_1['name'], 'children' => $level_2_data ); } $data['products'] = array(); if (isset($this->request->get['search']) || isset($this->request->get['tag']) || isset($this->request->get['description']) || isset($this->request->get['category_id']) || isset($this->request->get['sub_category']) || isset($this->request->get['sort'])) { $filter_data = array( 'filter_name' => $search, 'filter_tag' => $tag, 'filter_description' => $description, 'filter_category_id' => $category_id, 'filter_sub_category' => $sub_category, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); $product_total = $this->model_catalog_product->getTotalProducts($filter_data); $results = $this->model_catalog_product->getProducts($filter_data); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get($this->config->get('config_theme') . '_image_product_width'), $this->config->get($this->config->get('config_theme') . '_image_product_height')); } else { $image = $this->model_tool_image->resize('placeholder.png', $this->config->get($this->config->get('config_theme') . '_image_product_width'), $this->config->get($this->config->get('config_theme') . '_image_product_height')); } 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']); } else { $price = false; } 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']); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price'], $this->session->data['currency']); } else { $tax = false; } if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; } $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get($this->config->get('config_theme') . '_product_description_length')) . '..', 'price' => $price, 'special' => $special, 'tax' => $tax, 'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1, 'rating' => $result['rating'], 'href' => $this->url->link('product/product', 'product_id=' . $result['product_id'] . $url) ); } $url = ''; if (isset($this->request->get['search'])) { $url .= '&search=' . urlencode(html_entity_decode($this->request->get['search'], ENT_QUOTES, 'UTF-8')); } if (isset($this->request->get['tag'])) { $url .= '&tag=' . urlencode(html_entity_decode($this->request->get['tag'], ENT_QUOTES, 'UTF-8')); } if (isset($this->request->get['description'])) { $url .= '&description=' . $this->request->get['description']; } 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']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $data['sorts'] = array(); $data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/search', 'sort=p.sort_order&order=ASC' . $url) ); $data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/search', 'sort=pd.name&order=ASC' . $url) ); $data['sorts'][] = array( 'text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/search', 'sort=pd.name&order=DESC' . $url) ); $data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/search', 'sort=p.price&order=ASC' . $url) ); $data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/search', 'sort=p.price&order=DESC' . $url) ); if ($this->config->get('config_review_status')) { $data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/search', 'sort=rating&order=DESC' . $url) ); $data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/search', 'sort=rating&order=ASC' . $url) ); } $data['sorts'][] = array( 'text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/search', 'sort=p.model&order=ASC' . $url) ); $data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/search', 'sort=p.model&order=DESC' . $url) ); $url = ''; if (isset($this->request->get['search'])) { $url .= '&search=' . urlencode(html_entity_decode($this->request->get['search'], ENT_QUOTES, 'UTF-8')); } if (isset($this->request->get['tag'])) { $url .= '&tag=' . urlencode(html_entity_decode($this->request->get['tag'], ENT_QUOTES, 'UTF-8')); } if (isset($this->request->get['description'])) { $url .= '&description=' . $this->request->get['description']; } 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']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } $data['limits'] = array(); $limits = array_unique(array($this->config->get($this->config->get('config_theme') . '_product_limit'), 25, 50, 75, 100)); sort($limits); foreach($limits as $value) { $data['limits'][] = array( 'text' => $value, 'value' => $value, 'href' => $this->url->link('product/search', $url . '&limit=' . $value) ); } $url = ''; if (isset($this->request->get['search'])) { $url .= '&search=' . urlencode(html_entity_decode($this->request->get['search'], ENT_QUOTES, 'UTF-8')); } if (isset($this->request->get['tag'])) { $url .= '&tag=' . urlencode(html_entity_decode($this->request->get['tag'], ENT_QUOTES, 'UTF-8')); } if (isset($this->request->get['description'])) { $url .= '&description=' . $this->request->get['description']; } 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']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->url = $this->url->link('product/search', $url . '&page={page}'); $data['pagination'] = $pagination->render(); $data['results'] = sprintf($this->language->get('text_pagination'), ($product_total) ? (($page - 1) * $limit) + 1 : 0, ((($page - 1) * $limit) > ($product_total - $limit)) ? $product_total : ((($page - 1) * $limit) + $limit), $product_total, ceil($product_total / $limit)); // http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html if ($page == 1) { $this->document->addLink($this->url->link('product/search', '', true), 'canonical'); } elseif ($page == 2) { $this->document->addLink($this->url->link('product/search', '', true), 'prev'); } else { $this->document->addLink($this->url->link('product/search', $url . '&page='. ($page - 1), true), 'prev'); } if ($limit && ceil($product_total / $limit) > $page) { $this->document->addLink($this->url->link('product/search', $url . '&page='. ($page + 1), true), 'next'); } if (isset($this->request->get['search']) && $this->config->get('config_customer_search')) { $this->load->model('account/search'); if ($this->customer->isLogged()) { $customer_id = $this->customer->getId(); } else { $customer_id = 0; } if (isset($this->request->server['REMOTE_ADDR'])) { $ip = $this->request->server['REMOTE_ADDR']; } else { $ip = ''; } $search_data = array( 'keyword' => $search, 'category_id' => $category_id, 'sub_category' => $sub_category, 'description' => $description, 'products' => $product_total, 'customer_id' => $customer_id, 'ip' => $ip ); $this->model_account_search->addSearch($search_data); } } $data['search'] = $search; $data['description'] = $description; $data['category_id'] = $category_id; $data['sub_category'] = $sub_category; $data['sort'] = $sort; $data['order'] = $order; $data['limit'] = $limit; $data['column_left'] = $this->load->controller('common/column_left'); $data['column_right'] = $this->load->controller('common/column_right'); $data['content_top'] = $this->load->controller('common/content_top'); $data['content_bottom'] = $this->load->controller('common/content_bottom'); $data['footer'] = $this->load->controller('common/footer'); $data['header'] = $this->load->controller('common/header'); $this->response->setOutput($this->load->view('product/search', $data)); } }  
    • By Iysus
      Ребята, добрый день.
      Есть сайт и на сайте поиск, он ищет в строгом соответствии и только в названии товара. 
      А хочется так: 
      - чтоб искал в названии по нестрогому соответствию 
      - искал в тексте по нестрогому соответствию 

      Читаю про модуль "AutoSearch 2x - быстрый поиск с автозаполнением" перешла в демо, но не ищет он по тексту. 
      Может вы уже устанавливали модуль поиска, который очень хорошо ищет по тексту и по название? 
      Подскажите пожалуйста
  • 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.