Jump to content

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


AlexDW
 Share

Go to solution Solved by AlexDW,

Recommended Posts

  • Solution

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 (Панель управления > Настройки разработчика)

 

Link to comment
Share on other sites

  • 1 year later...

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

Выдает в логах и соответственно не добавляяет колонку 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));
	}

 

Link to comment
Share on other sites

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

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

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

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

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

Edited by deadiwe
проверка на чистом
Link to comment
Share on other sites

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

очистил кеш

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

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

Link to comment
Share on other sites

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

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

cache и modification

 

не помогло

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

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

Link to comment
Share on other sites

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

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

не помогло

 

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...