Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


spectre

Recommended Posts

Скрытие категорий от групп покупателей 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 months later...

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

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

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

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

Надіслати
Поділитися на інших сайтах


  • 1 month later...
  • 1 month later...

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

 

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 year later...
  • 1 year later...

Возникла необходимость закрыть общую категорию, в ней все товары, но если ее закрыть товары все не доступны.
Сайт на 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 weeks later...

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

Надіслати
Поділитися на інших сайтах


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

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

 

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

 

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

Надіслати
Поділитися на інших сайтах

  • 1 month later...
48 минут назад, enique сказал:

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

будет 

Надіслати
Поділитися на інших сайтах

  • 5 months later...
В 10.06.2022 в 16:08, kwakin сказал:

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

 

можно 

юз кейс такой 

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

Надіслати
Поділитися на інших сайтах

  • 3 months later...

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

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

Версия 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] 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.