Перейти к содержанию

FilterImageID - фильтр товаров по изображениям и ID в админке [support]


Перейти к решению Решений AlexDW,

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

  • Решение

FilterImageID - фильтр товаров по изображениям и ID в админке

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

 

DEMO 3x
DEMO 2x
DEMO 15x

 

 

Особенности:

✔ фильтр по изображениям товара (показывать все / только с картинкой / только без картинки)
✔ фильтр по id товара с возможностью сортировки по нарастанию / убыванию
 

совместим с ocStore / OCSHOP - Opencart.pro / Opencart.CLUB / Opencart версий 15x-3x **
никакие файлы не заменяет (все изменения через VQMOD / OCMOD)
не создает дополнительных полей и таблиц в БД
для движков 15x требуется VQMOD
для 2x и выше используется OCMOD

 

** движки Opencart 230x уже содержат фильтр по изображениям, для них будет добавлен только фильтр по ID

 

Установка 15x:

Просто скопировать файл filter_image_id.xml в каталог vqmod/xml

 

Установка 2x:

1. Загрузить файл filter_image_id.ocmod.xml для вашей версии в Дополнения > Установка дополнений
2. Обновить кеш модификаторов в Дополнения > Модификаторы (Менеджер дополнений)

 

Установка 3x:

1. Загрузить архив filter_image_id-3x.ocmod.zip в Extensions > Extension Installer (Дополнения > Установка дополнений)
2. Обновить кеш модификаторов в Extensions > Modifications (Дополнения > Менеджер дополнений)

3. Обновить кеш шаблона (theme cache) в Dashboard > Developer Settings (Панель управления > Настройки разработчика)

 

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

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

Приветствую, установил дополнение на клубную сборку.

Выдает в логах и соответственно не добавляяет колонку ID

2023-11-10 4:45:49 - PHP Notice:  Undefined variable: filter_image in storage/modification/admin/controller/catalog/product.php on line 504
2023-11-10 4:45:49 - PHP Notice:  Undefined variable: filter_id in storage/modification/admin/controller/catalog/product.php on line 505
2023-11-10 4:45:49 - PHP Notice:  Undefined variable: filter_image in storage/modification/admin/controller/catalog/product.php on line 693
2023-11-10 4:45:49 - PHP Notice:  Undefined variable: filter_id in storage/modification/admin/controller/catalog/product.php on line 694

// строка 499 - 519
$filter_data = array(
			'filter_name'	  => $filter_name,
			'filter_model'	  => $filter_model,

	// FilterImageId
			'filter_image'	  => $filter_image,
			'filter_id'	 	  => $filter_id,
	// FilterImageId end
			
			'filter_manufacturer'=> $filter_manufacturer,
			'filter_category' => $filter_category,
			'filter_price_min'=> $filter_price_min,
			'filter_price_max'=> $filter_price_max,
			'filter_quantity_min'=> $filter_quantity_min,
			'filter_quantity_max'=> $filter_quantity_max,
			'filter_status'   => $filter_status,
			'sort'            => $sort,
			'order'           => $order,
			'start'           => ($page - 1) * $this->config->get('config_limit_admin'),
			'limit'           => $this->config->get('config_limit_admin')
		);
//строка 653 - 713
$data['results'] = sprintf($this->language->get('text_pagination'), ($product_total) ? (($page - 1) * $this->config->get('config_limit_admin')) + 1 : 0, ((($page - 1) * $this->config->get('config_limit_admin')) > ($product_total - $this->config->get('config_limit_admin'))) ? $product_total : ((($page - 1) * $this->config->get('config_limit_admin')) + $this->config->get('config_limit_admin')), $product_total, ceil($product_total / $this->config->get('config_limit_admin')));


		$this->load->model('catalog/manufacturer');
		$this->load->model('catalog/category');

		if (isset($filter_manufacturer)) {
			if ($filter_manufacturer == 0) {
				$data['filter_manufacturer_name'] = $this->language->get('text_no_manufacturer');
			} else {
				$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($filter_manufacturer);
				
				if ($manufacturer_info) {
					$data['filter_manufacturer_name'] = $manufacturer_info['name'];
				} else {
					$data['filter_manufacturer_name'] = '';
					$filter_manufacturer = null;
				}
			}
		}

		if (isset($filter_category)) {
			if ($filter_category == 0) {
				$data['filter_category_name'] = $this->language->get('text_no_category');
			} else {
				$category_info = $this->model_catalog_category->getCategory($filter_category);
				
				if ($category_info) {
					$data['filter_category_name'] = $category_info['name'];
				} else {
					$data['filter_category_name'] = '';
					$filter_category = null;
				}
			}
		}

		$data['filter_name'] = $filter_name;
		$data['filter_model'] = $filter_model;

	// FilterImageId
		$data['filter_image'] = $filter_image;
		$data['filter_id'] = $filter_id;
	// FilterImageId end
			
		$data['filter_manufacturer'] = $filter_manufacturer;
		$data['filter_category'] = $filter_category;
		$data['filter_price_min'] = $filter_price_min;
		$data['filter_price_max'] = $filter_price_max;
		$data['filter_quantity_min'] = $filter_quantity_min;
		$data['filter_quantity_max'] = $filter_quantity_max;
		$data['filter_status'] = $filter_status;
		
		$data['sort'] = $sort;
		$data['order'] = $order;

		$data['header'] = $this->load->controller('common/header');
		$data['column_left'] = $this->load->controller('common/column_left');
		$data['footer'] = $this->load->controller('common/footer');

		$this->response->setOutput($this->load->view('catalog/product_list', $data));
	}

 

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

такое бывает, если в сборке менять все подряд

 

в модификаторе измените строку

$filter_model = '';

 

на

$filter_model = null;

 

и переустановите его

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

<file path="admin/controller/catalog/product.php">
        <operation>
            <search><![CDATA[
$filter_model = null;
            ]]></search>

Обновил модификаторы, очистил кеш.. тишина

Ошибок или нотисов нет...

Очистил кеш браузера

На чистом опенкарте все ок...

Изменено пользователем deadiwe
проверка на чистом
Ссылка на комментарий
Поделиться на другие сайты

В 10.11.2023 в 10:24, deadiwe сказал:

очистил кеш

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

смотрите итоговый модифицированный файл в кэше

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

В 10.11.2023 в 11:14, deadiwe сказал:

Сделал так. в storage удалил все в папках

cache и modification

 

не помогло

подобное и не поможет - это аналог очистки кэша модификаторов

начните с изучения азов движка и принципов его работы

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

«Удалить» (иконка ведра) Сделал так. и далее дополнительно в storage удалил все в папках cache и modification

в system так же очистил папку cache

не помогло

 

Вот вся процедура.  Но уже в приципе не важно сборку сменил, все отлично работает.

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

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

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