joy777

Настройка стандартного поиска

Рекомендуемые сообщения

joy777    0

Уважаемые разработчики и участники форума, приветствую вас!

Очень наболел вопрос такого характера.

У меня на сайте выстроена номенклатура, которую не желательно менять из-за регулярного обновления информации и цен по товарам. Товаров более 10 000.

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

Подскажите как закрыть от просмотра эти товары, желательно не каждый товар отдельно, а массово, так как товаров много, упмянал выше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    921

Есть функционал в getProducts - искать в категориях

		if (!empty($data['filter_category_id'])) {
			if (!empty($data['filter_sub_category'])) {
				$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";
			} else {
				$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";
			}

			if (!empty($data['filter_filter'])) {
				$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";
			} else {
				$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";
			}
		} else {
			$sql .= " FROM " . DB_PREFIX . "product p";
		}

Вам же нужно эти категории исключить из поиска

        if (!empty($data['filter_category_id'])) {
            if (!empty($data['filter_sub_category'])) {
                $sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";
            } else {
                $sql .= " FROM " . DB_PREFIX . "product_to_category p2c";
            }

            if (!empty($data['filter_filter'])) {
                $sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";
            } else {
                $sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";
            }
        } else {
            $sql .= " FROM " . DB_PREFIX . "product p";
        }

таким образом

        if (true || !empty($data['filter_category_id'])) {
            if (!empty($data['filter_sub_category'])) {
                $sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id AND cp.category_id NOT IN (23, 24,26))";
            } else {
                $sql .= " FROM " . DB_PREFIX . "product_to_category p2c";
            }

            if (!empty($data['filter_filter'])) {
                $sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";
            } else {
                $sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";
            }
        } else {
            $sql .= " FROM " . DB_PREFIX . "product p";
        }

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
joy777    0

Когда товаров, которые нужно спрятать, более 3000, не легче))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
joy777    0

Есть функционал в getProducts - искать в категориях

if (!empty($data['filter_category_id'])) {
			if (!empty($data['filter_sub_category'])) {
				$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";
			} else {
				$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";
			}

			if (!empty($data['filter_filter'])) {
				$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";
			} else {
				$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";
			}
		} else {
			$sql .= " FROM " . DB_PREFIX . "product p";
		}
Вам же нужно эти категории исключить из поиска

        if (!empty($data['filter_category_id'])) {
            if (!empty($data['filter_sub_category'])) {
                $sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";
            } else {
                $sql .= " FROM " . DB_PREFIX . "product_to_category p2c";
            }

            if (!empty($data['filter_filter'])) {
                $sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";
            } else {
                $sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";
            }
        } else {
            $sql .= " FROM " . DB_PREFIX . "product p";
        }
таким образом

        if (true || !empty($data['filter_category_id'])) {
            if (!empty($data['filter_sub_category'])) {
                $sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id AND cp.category_id NOT IN (23, 24,26))";
            } else {
                $sql .= " FROM " . DB_PREFIX . "product_to_category p2c";
            }

            if (!empty($data['filter_filter'])) {
                $sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";
            } else {
                $sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";
            }
        } else {
            $sql .= " FROM " . DB_PREFIX . "product p";
        }

Подскажите пожалуйста где именно в категориях лежит файл для редактирования. Дерево расположения.

Изменено пользователем joy777

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
joy777    0

Делаю все по инструкции, не выходит. Фильтр не срабатывает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
joy777    0

Товары из этих категорий все-равно выпадают в поиск.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    921

ах да

 

Код не совсем корректен

 

Этого мало

 

но важно то что нужно еще исключить

 

AND cp.category_id NOT IN (23, 24,26))

 

$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id AND cp.category_id NOT IN (23, 24,26))";

 

 

Стандартный фильтр вы, возможно не будете использовать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
joy777    0

При добавлении и этого кода, все-равно товары из выбранных категорий выпадают на сайте при запросе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
nikifalex    325

update product set status=0 where prodict_id in (select product_id from product_to_category where category_id in (23,24))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
joy777    0

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

 

Кто знает поделитесь, как на самом деле можно изменить код, чтобы тупо по ID категорий убрать из поиска товары. :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От alexsoftdev

      1 499.00 руб
      Скачать/Купить дополнение


      SOFORP Умный Поиск
      Стандартный поиск в опенкарте очень примитивный .. Хотелось бы умный поиск.
      Компания SOFORP решила данный вопрос, с помощью модуля Умный Поиск посетителям интернет магазина будет гораздо удобнее найти интересующий их товар.
      В данном дополнении от компании SOFORP модуль Умный Поиск для OpenCart.
      Поиск осуществляется по названию, артиклу, производителю и модели товаров.
      Возможности:
      Умный релевантный поиск Настройки поиска из админ. Системы Нет нагрузки на базу данных при каждом запросе Высокая скорость поиска Поисковая выдача с дополнительными параметрами: (Цена, Изображение товара, Рейтинг товара.)  
      Инструкция:
      Установка на примере опенкарт 2.Х ( для остальных смотрим инструкции внутри архива ):
      Запросите ключ лицензии по email license@neoseo.com.ua, при этом указав:
          - название сайта, на котором вы купили модуль. Например opencartforum.com
          - ваш ник на этом сайте, например, alexsoftdev
          - номер заказа на этом сайте, например 355446
          - основной домен сайта для активации лицензии, например lamoda.ru
          - тестовый домен сайта для разработки, например lamoda.neoseo.com.ua
      Распакуйте и загрузите ключ в корень сайта, рядом с robots.txt
      Если у вас правильно настроен и подключен ftp, то
      3.1. Установите архив целиком через Дополнения \ Установка расширений.
      Если же опенкарт настроен криво, то делаем это вручную:
      3.1. Распакуйте архив с модулем и загрузите содержимое папки upload на сайт
      3.2. В архиве есть файл install.xml, его переименовываете в install.ocmod.xml
           и загружаете через Дополнения \ Установка расширений
      Нажмите кнопку "Обновить" на страничке "Дополнения \ Модификаторы".
      Установите модуль посредством меню Дополнения \ Модули
      Установите права на просмотр модуля нужным пользователям
      Зайдите в настройки модуля и выберите нужный вам шлюз, указав параметры подключения и нажмите сохранить.
      Обновление:
      Удалите модификатор Повторите установку Лицензия:
      на ОДИН домен. Не на сайт, не на человека, не на студию. У вас несколько доменов подключены к одному сайту - значит вам нужно несколько лицензий. на использование ( допускается установка клиентам при покупке лицензий под них ), но не на перепродажу. правообладателем лицензии и обновлений на продукт является владелец домена Модули от SOFORP это:
      Безупречное качество Дружественный интерфейс Богатая функциональность Высокое быстродействие Оперативная поддержка Посмотреть работу модуля вы сможете тут:
      https://shop.neoseo.com.ua/admin/
      логин: admin
      пароль: admin
       
      Рекомендуем:
      Также рекомендуем вам купить другие наши продукты, которые пригодятся в абсолютно любом магазине
      Водный знак Резервная копия Ссылка на товар Карта сайта Источник заказа Добавил alexsoftdev Добавлено 15.12.2015 Категория Поиск Системные требования PHP 5.3+ Сайт разработчика https://seomag.com.ua Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.1
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.4.1
      1.5.3.1 ocStore 2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.1
      OcShop 1.5.6.4.х  
    • От michnoff
      Приветствую! Как вывести категории на странице поиска, чтобы видеть в каких категориях лежит найденный товар в ocstore 2.3
      Нашел два варианта для 1.5.5.1.2 , попытался делать по аналогии, но ни чего не вышло
      http://webxeon.ru/opencart/cats
       
      Можно ли реализовать так же на 2.3? Заранее спасибо!
    • От bekeshin
      Всем привет. Столкнулся с такой проблемой, что при поиске ищет в описаниях тоже, а мне этого не нужно. В comon.js я не делал правки, то есть он дефолтный. Уже пересмотрел всё, что только можно. Подскажите пожалуйста куда копать.
      Версия OC 2.3.0.2 (rs.1)
      Из модулей установленных для поиска стоит Live Ajax Search, но даже без него работает так же само
    • От Nannco
      Ребята, подскажите после оформления заказа и поиска товара на сайте получаю вот такую ошибку 
      Скриншот
      <b>Notice</b>: Underfined variable: button_back in <b>/hsphere/local/hazard/localuser.ru/system/storege/modification/view/theme/next_default/template/product/search.tpl</b> on line <b>15</b> Что это может быть? Как вылечить?
    • От 960px
      ОС 2.3, при выводе товара в поиске (модуль "Поиск с морфологией и релевантностью") результат скрывается при подгрузке кнопки "Показать ещё" (модуль ajax). Хотелось бы починить, желательно оперативно.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу