Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

[Поддержка] Скрытие категорий от групп покупателей 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.18
  • Категорія
  • Системные требования
  • Метод активации
    Автоматическая активация
  • 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 сказал:

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

 

можно 

юз кейс такой 

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

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

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

Добрый день.
Купил сегодня у вас дополнение, установил. Перестала открываться главная страница магазина, появляются ошибки.

Через админку не открываются категории, тоже выскакивают ошибки. Отключаю модуль все работает.

Версия ocStore 2.3.0.2.4
Шаблон 
NewStore
Ошибка на главной:

Скрытый текст

Fatal error: Uncaught Exception: Error: Table 'cctv1_wp.oc_hide_category' doesn't exist<br />Error No: 1146<br />SELECT * FROM oc_hide_category WHERE customer_group_id = '1' in /sata2/home/users/cctv1/www/www.cctv.kiev.ua/system/library/db/mysqli.php:46 Stack trace: #0 /sata2/home/users/cctv1/www/www.cctv.kiev.ua/system/library/db.php(16): DB\MySQLi->query('SELECT * FROM o...', Array) #1 /sata2/home/users/cctv1/www/www.cctv.kiev.ua/system/storage/modification/system/library/cart/customer.php(106): DB->query('SELECT * FROM o...') #2 /sata2/home/users/cctv1/www/www.cctv.kiev.ua/system/storage/modification/catalog/model/catalog/category.php(4): Cart\Customer->hideCategories() #3 /sata2/home/users/cctv1/www/www.cctv.kiev.ua/system/storage/modification/system/engine/loader.php(178): ModelCatalogCategory->getCategory('20') #4 /sata2/home/users/cctv1/www/www.cctv.kiev.ua/system/engine/proxy.php(25): Loader->{closure}(Array, Array) #5 /sata2/home/users/cctv1/www/www.cctv.kiev.ua/catalog/controller/extension/module/wallcategory.ph in /sata2/home/users/cctv1/www/www.cctv.kiev.ua/system/library/db/mysqli.php on line 46


Ошибка при открытии категорий через админку:
 

Скрытый текст

Fatal error: Uncaught Exception: Error: Table 'cctv1_wp.oc_hide_category' doesn't exist<br />Error No: 1146<br />SELECT * FROM oc_hide_category WHERE category_id = '73' in /sata2/home/users/cctv1/www/www.cctv.kiev.ua/system/library/db/mysqli.php:46 Stack trace: #0 /sata2/home/users/cctv1/www/www.cctv.kiev.ua/system/library/db.php(16): DB\MySQLi->query('SELECT * FROM o...', Array) #1 /sata2/home/users/cctv1/www/www.cctv.kiev.ua/system/storage/modification/admin/model/catalog/category.php(308): DB->query('SELECT * FROM o...') #2 /sata2/home/users/cctv1/www/www.cctv.kiev.ua/system/storage/modification/system/engine/loader.php(178): ModelCatalogCategory->getHideFromCustomerGroups('73') #3 /sata2/home/users/cctv1/www/www.cctv.kiev.ua/system/engine/proxy.php(25): Loader->{closure}(Array, Array) #4 /sata2/home/users/cctv1/www/www.cctv.kiev.ua/system/storage/modification/admin/controller/catalog/category.php(444): Proxy->__call('getHideFromCust...', Array) #5 /sata2/home/users/cctv1/www/www.cctv.kiev.ua/system/storage/modificatio in /sata2/home/users/cctv1/www/www.cctv.kiev.ua/system/library/db/mysqli.php on line 46

 

Подскажите куда смотреть?

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


В 27.09.2022 в 13:11, Eugen47 сказал:

Подскажите куда смотреть?

не создалась таблица при установке 

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

не получится - пишите в почту [email protected] 

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

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

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

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

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

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

Войти

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

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

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

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

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