Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

[Подгдержка] Скрытие категорий от групп покупателей Hide Categories From Customer Groups 1.5.x-2.x-3.x


spectre
 Погделиться

Рекомендованные сообещёния

Скрытие категорий от групп покупателей Hide Categories From Customer Groups 1.5.x-2.x-3.x


Скрытие категорий от групп покупателей Hide Categories From Customer Groups 1.5.x-2.x-3.x


 

Модуль позволяет скрыть категории товаров и товары которые в них находятся от некоторых групп покупателей путем усиновки галочки напротив группы покупателей в настройках категории (на скриншоте)

 

Примеры использования: 

- Оптовые категории и и товары в них и розничные, которые не пересекаются

- "Временные категории" для обрилитки прайсов, недооформленных товаров и тп

- Переучет в какой-липотому что категории

- и многое другое

 

 

ОЧЕНЬ ВАЖНО!!!

Модуль использует синдартный функционал и изменяет синдартные могдели категории и товара для опрегделения доступа

 

Если у вас какой-то модуль супермегаменю или суперстена категорий, который использует свои могдели, отличающиеся от "родных" - адапиция недорогая но платная

 

Под популярные шаблоны - >300 покупок на форуме - адапиция бесплатная, под осильные - недорого, пишите в лс

 

Уточняйте эти моменты ДО покупки!

 

 

Имеются патли под шаблоны:

1. Newstore

2. Revolution

Лиэтонзия - 1 домен

 

Какие-то вопросы - пишите в личку, разберемся :)


  • Добавил
  • Добавлено
    21.06.2018
  • Категория
  • Системные трепотому чтования
  • Метод активации
    Автоматическая активация
  • Ioncube Loader
    Нет
  • ocStore
    3.0
    2.3
    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
  • OpenCart.Pro, ocShop
    Opencart.pro 2.3
    Opencart.pro 2.1
    OcShop 2.0.3.х
  • Обраещёние к серверу разрилитлика
    Нет

 

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

ну вот , кайф
у меня как раз нарилиток под оптовые сайты прилично, теперьь и это бугдет

 

 

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


  • 2 месяца спустя...

Интересный модуль. А как с этим всем дружит фильтр товаров, он икже не видит ни эти категории ни товары в них, соответвенно в фильтрацию они не попадают?

Сможет ли Ваш модуль решить следующую проблему:

Есть конструктор огдежды, и по функционалу своему он использует товар, который забит в товары (использует его опции ,атрибуты, картинки и прочее), в связи с этим если товар одновременно продается как сам по себе ик и используется в конструкторе, приходится дублировать товар в отгдельную категорию. Тогда эи категория сразу же появляется и на сайте в навигационном меню и те товары что были туда продублированы икже появляются в выдаче. Если с помощью Вашего модуля закрыть от отображения эту папку для покупателей на сайте, бугдет ли эи категория и самое главное, товары видны в конструкторе или они для него тоже заблокируются?

И последний вопрос: Ваш модуль с шаблоном shop-store2 дружит или потребуется дорилитка?

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


  • 1 месяц спустя...

Есть икое только для товаров? Нужно опрегделенным группам покупателей открыть только опрегделенный товар.

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


  • 1 месяц спустя...

После усиновки не открывается главная, появляется ошибка:

 

Fatal error: Can't use method return value in write context in /system/storage/modification/catalog/model/catalog/category.php on line 4

 

Привожу код самого файла /system/storage/modification/catalog/model/catalog/category.php

 

Спойлер
<?php
class ModelCatalogCategory extends Model {
	public function getCategory($category_id) {
		$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.category_id = '" . (int)$category_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ".(!empty($this->customer->hideCategories()) ? "AND c.category_id NOT IN (" . implode(',', $this->customer->hideCategories()).")": '')."");

		return $query->row;
	}

	public function getCategories($parent_id = 0) {
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "'  AND c.status = '1' ".(!empty($this->customer->hideCategories()) ? "AND c.category_id NOT IN (" . implode(',', $this->customer->hideCategories()).")": '')." ORDER BY c.sort_order, LCASE(cd.name)");

		return $query->rows;
	}

	public function getCategoryFilters($category_id) {
		$implode = array();

		$query = $this->db->query("SELECT filter_id FROM " . DB_PREFIX . "category_filter WHERE category_id = '" . (int)$category_id . "'");

		foreach ($query->rows as $result) {
			$implode[] = (int)$result['filter_id'];
		}

		$filter_group_data = array();

		if ($implode) {
			$filter_group_query = $this->db->query("SELECT DISTINCT f.filter_group_id, fgd.name, fg.sort_order FROM " . DB_PREFIX . "filter f LEFT JOIN " . DB_PREFIX . "filter_group fg ON (f.filter_group_id = fg.filter_group_id) LEFT JOIN " . DB_PREFIX . "filter_group_description fgd ON (fg.filter_group_id = fgd.filter_group_id) WHERE f.filter_id IN (" . implode(',', $implode) . ") AND fgd.language_id = '" . (int)$this->config->get('config_language_id') . "' GROUP BY f.filter_group_id ORDER BY fg.sort_order, LCASE(fgd.name)");

			foreach ($filter_group_query->rows as $filter_group) {
				$filter_data = array();

				$filter_query = $this->db->query("SELECT DISTINCT f.filter_id, fd.name FROM " . DB_PREFIX . "filter f LEFT JOIN " . DB_PREFIX . "filter_description fd ON (f.filter_id = fd.filter_id) WHERE f.filter_id IN (" . implode(',', $implode) . ") AND f.filter_group_id = '" . (int)$filter_group['filter_group_id'] . "' AND fd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY f.sort_order, LCASE(fd.name)");

				foreach ($filter_query->rows as $filter) {
					$filter_data[] = array(
						'filter_id' => $filter['filter_id'],
						'name'      => $filter['name']
					);
				}

				if ($filter_data) {
					$filter_group_data[] = array(
						'filter_group_id' => $filter_group['filter_group_id'],
						'name'            => $filter_group['name'],
						'filter'          => $filter_data
					);
				}
			}
		}

		return $filter_group_data;
	}

	public function getCategoryLayoutId($category_id) {
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_to_layout WHERE category_id = '" . (int)$category_id . "' AND store_id = '" . (int)$this->config->get('config_store_id') . "'");

		if ($query->num_rows) {
			return $query->row['layout_id'];
		} else {
			return 0;
		}
	}

	public function getTotalCategoriesByCategoryId($parent_id = 0) {
		$query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ".(!empty($this->customer->hideCategories()) ? "AND c.category_id NOT IN (" . implode(',', $this->customer->hideCategories()).")": '')."");

		return $query->row['total'];
	}
}

 

 

 

ocStore 2.3.0.2.3, тема синдартная. В какую сторону копать?

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


  • 1 год спустя...
  • 1 год спустя...

Возникла необходимость закрыть общую категорию, в ней все товары, но если ее закрыть товары все не доступны.
Сайт на ocStore 2.3, есть выпотому чтор главной категории.
Наверное нужно в этот строке что то дописать, что бы брало товары с категорий в которых main_category=1

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "hide_category hc JOIN " . DB_PREFIX . "product_to_category pc ON (hc.category_id = pc.category_id) WHERE customer_group_id = '" . (int)$this->getGroupId() . "'");

 

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


  • 4 негдели спустя...

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

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


7 минут назад, pro100m сказал:

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

 

все что проходит через getProduct - не бугдет 

 

если разрилитлики следовали синдарим то ниггде не бугдет 

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

  • 1 месяц спустя...
48 минут назад, enique сказал:

День добрый. Бугдет ли модуль рилиить на OCstore 3 ?

бугдет 

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

  • 5 месяэтов спустя...
В 10.06.2022 в 16:08, kwakin сказал:

Скрыть товары без категорий можно ? 

 

можно 

юз кейс икой 

гделаете отключенную категорию и добавляете туда товары которые хотите скрыть 

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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.