Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Recommended Posts

Здравствуйте решил добавить к фильтру возможность присваивать каждому элементу фильтра, изображение.

ocStore-2.3.0.2.2 тема дефолтная, фильтр штатный

В таблице бд добавил колонку image. скриншот прилагаю.

Правил -admin/model/catalog/filter в теле функции addFilter добавил: if (isset($data['image'])}{ ....

<?php
class ModelCatalogFilter extends Model {
	public function addFilter($data) {
		$this->db->query("INSERT INTO `" . DB_PREFIX . "filter_group` SET sort_order = '" . (int)$data['sort_order'] . "'");

		$filter_group_id = $this->db->getLastId();

		foreach ($data['filter_group_description'] as $language_id => $value) {
			$this->db->query("INSERT INTO " . DB_PREFIX . "filter_group_description SET filter_group_id = '" . (int)$filter_group_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "'");
		}

		if (isset($data['filter'])) {
			foreach ($data['filter'] as $filter) {
				$this->db->query("INSERT INTO " . DB_PREFIX . "filter SET filter_group_id = '" . (int)$filter_group_id . "', sort_order = '" . (int)$filter['sort_order'] . "', image = '" . (int)$filter['sort_order']. "'");

				$filter_id = $this->db->getLastId();

				if (isset($data['image'])) {
					$this->db->query("UPDATE" . DB_PREFIX . "filter SET image = '" . $this->db->escape($data['image']) . "' WHERE filter_id = '" . (int)$filter_id . "'");
				}

				foreach ($filter['filter_description'] as $language_id => $filter_description) {
					$this->db->query("INSERT INTO " . DB_PREFIX . "filter_description SET filter_id = '" . (int)$filter_id . "', language_id = '" . (int)$language_id . "', filter_group_id = '" . (int)$filter_group_id . "', name = '" . $this->db->escape($filter_description['name']) . "'");
				}

			}
		}

		return $filter_group_id;
	}

в  admin/controller/catalog/filter, в теле функции getForm:

if (isset($this->request->get['filter_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) {
			$filter_info = $this->model_catalog_filter->getFilter($this->request->get['filter_id']);
		}


		if (isset($this->request->post['image'])) {
			$data['image'] = $this->request->post['image'];
		} elseif (!empty($filter_info)) {
			$data['image'] = $filter_info['image'];
		} else {
			$data['image'] = '';
		}


		$this->load->model('tool/image');

		if (isset($this->request->post['image']) && is_file(DIR_IMAGE . $this->request->post['image'])) {
			$data['thumb'] = $this->model_tool_image->resize($this->request->post['image'], 100, 100);
		} elseif (!empty($filter_info) && is_file(DIR_IMAGE . $filter_info['image'])) {
			$data['thumb'] = $this->model_tool_image->resize($filter_info['image'], 100, 100);
		} else {
			$data['thumb'] = $this->model_tool_image->resize('no_image.png', 100, 100);
		}

		$data['placeholder'] = $this->model_tool_image->resize('no_image.png', 100, 100);

в шаблоне:

<a href="" id="thumb-image" data-toggle="image" class="img-thumbnail">
                  <img src="<?php echo $thumb; ?>" alt="img" title="" data-placeholder="<?php echo $placeholder; ?>" />
                </a>
                  <input type="hidden" name="image" value="<?php echo $image; ?>" id="input-image" />

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

127.0.0.1  127.0.0.1  opencart  oc_filter  phpMyAdmin 4.7.3 - Google Chrome.jpg

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Similar Content

    • By SooR
      Продажи возобновятся в течение недели.
       
      🔑 Для обновления на 4.8 нужен ключ активации.
      Получить ключ можно здесь
       
      Возможности модуля
      Фильтрация по:
      цене (включая акции, скидки, цены опций и налоги); производителям; наличию на складе (как по количеству, так и по stock_status_id); [new] новым поступлениям (с возможностью указания временного признака); [new] наличию скидки и акции у товаров; [new] весу и габаритам товара, указанным в карточке; атрибутам с возможностью указания до трёх разделителей (мультиатрибуты)*; опциям товара*; стандартным фильтрам OpenCart*.
      *требует скопировать их в настройках модуля  
      Вывести модуль можно на следующих страницах:
      категория; [new] товары производителя; [new] акции; [new] поиск товаров; [new] любая другая страница со своими фильтрами.  
      Поддержка SEO посадочных страниц:
      [new] массовое добавление страниц по выбранным критериям и шаблону подстановки; [new] массовое редактирование; [new] создание динамических страниц; [new] вывод ссылок на страницы в категориях, модуле, товарах (характеристики), карте сайта.  
      Локализация
      Модуль поддерживает работу с мультиязычными магазинами. 
      Модуль переведен на следующие языки:
      Русский; Украинский; Английский.
      Мобильная версия и внешний вид
      моментальное переключение (без перезагрузки) между полной и мобильной версией; возможность указать произвольную ширину экрана, при которой полная версия переключится в мобильную; мобильную версию можно расположить слева или справа; блок модуля поддерживает жесты и закрытие по клику на пустую область вне модуля; адаптирован под внешний вид в горизонтальной разметке; поддержка двух тем: «светлая» и «светлая блочная».  
      Другие особенности
      - Работа с большим количеством товаров (100к +) и фильтров;
      - Не заменяет файлы вашего магазина, OCmod с минимальными вставками кода;
      - Возможность скрывать неактивные (с нулевым количеством товаров) значения фильтра;
      - Возможность использовать слайдеры для любых числовых фильтров;
      - Возможность ограничивать вывод фильтров и значений, скрывая лишние под collapse кнопку;
      - Возможность загружать скрытые фильтры и значения в фоновом режиме (AJAX) не увеличивая количество DOM элементов (положительное влияние на PageSpeed);
      - Код модуля не зашифрован и не требует декодеров, не привязан к определенной версии PHP или серверу.
       
      Больше возможностей смотрите во вкладке «Обновления».
       
      Демо

      Категория
      Производитель
      Акции
      Главная с фильтрами

      Админ панель (временно недоступна)
      Логин: demo
      Пароль: demo
       
      Совместимость

      Модуль совместим с OpenCart 2.* и 3.* (включая различные сборки на базе этих версий).
      OpenCart 1.5.x не поддерживается.
       
      Совместимость с шаблонами
      Модуль совместим со всеми шаблонами, но для некоторых (например, Journal) может потребоваться небольшая корректировка.
       
      Контакты
      Время работы поддержки: пн-пт с 10:00 до 19:00, суббота, воскресенье - выходной
    • By SooR
      2000
      Скачать/Купить дополнение


      OCFilter - Модуль фильтра товаров
      Продажи возобновятся в течение недели.
       
      🔑 Для обновления на 4.8 нужен ключ активации.
      Получить ключ можно здесь
       
      Возможности модуля
      Фильтрация по:
      цене (включая акции, скидки, цены опций и налоги); производителям; наличию на складе (как по количеству, так и по stock_status_id); [new] новым поступлениям (с возможностью указания временного признака); [new] наличию скидки и акции у товаров; [new] весу и габаритам товара, указанным в карточке; атрибутам с возможностью указания до трёх разделителей (мультиатрибуты)*; опциям товара*; стандартным фильтрам OpenCart*.
      *требует скопировать их в настройках модуля  
      Вывести модуль можно на следующих страницах:
      категория; [new] товары производителя; [new] акции; [new] поиск товаров; [new] любая другая страница со своими фильтрами.  
      Поддержка SEO посадочных страниц:
      [new] массовое добавление страниц по выбранным критериям и шаблону подстановки; [new] массовое редактирование; [new] создание динамических страниц; [new] вывод ссылок на страницы в категориях, модуле, товарах (характеристики), карте сайта.  
      Локализация
      Модуль поддерживает работу с мультиязычными магазинами. 
      Модуль переведен на следующие языки:
      Русский; Украинский; Английский.
      Мобильная версия и внешний вид
      моментальное переключение (без перезагрузки) между полной и мобильной версией; возможность указать произвольную ширину экрана, при которой полная версия переключится в мобильную; мобильную версию можно расположить слева или справа; блок модуля поддерживает жесты и закрытие по клику на пустую область вне модуля; адаптирован под внешний вид в горизонтальной разметке; поддержка двух тем: «светлая» и «светлая блочная».  
      Другие особенности
      - Работа с большим количеством товаров (100к +) и фильтров;
      - Не заменяет файлы вашего магазина, OCmod с минимальными вставками кода;
      - Возможность скрывать неактивные (с нулевым количеством товаров) значения фильтра;
      - Возможность использовать слайдеры для любых числовых фильтров;
      - Возможность ограничивать вывод фильтров и значений, скрывая лишние под collapse кнопку;
      - Возможность загружать скрытые фильтры и значения в фоновом режиме (AJAX) не увеличивая количество DOM элементов (положительное влияние на PageSpeed);
      - Код модуля не зашифрован и не требует декодеров, не привязан к определенной версии PHP или серверу.
       
      Больше возможностей смотрите во вкладке «Обновления».
       
      Демо

      Категория
      Производитель
      Акции
      Главная с фильтрами

      Админ панель (временно недоступна)
      Логин: demo
      Пароль: demo
       
      Совместимость

      Модуль совместим с OpenCart 2.* и 3.* (включая различные сборки на базе этих версий).
      OpenCart 1.5.x не поддерживается.
       
      Совместимость с шаблонами
      Модуль совместим со всеми шаблонами, но для некоторых (например, Journal) может потребоваться небольшая корректировка.
       
      Контакты
      Время работы поддержки: пн-пт с 10:00 до 19:00, суббота, воскресенье - выходной
       






      Добавил SooR Добавлено 27.09.2016 Категория Фильтры Системные требования PHP 5.6+, jQuery Метод активации По емейлу
      Через официальный сайт дополнения Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3.0.2.4
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х Обращение к серверу разработчика Нет  
    • By ibond
      900 13
      Скачать/Купить дополнение


      Редактор товаров в админке + Фильтр по производителю, категории, артикулу, изображению и ID
      Дополнение добавляет возможность фильтровать товары в административной панели Opencart по производителям, категориям, артикулу (Sku), изображениям и ID товара. Добавляет колонки ID товара, Артикул, Производители и  Категории в списке товаров и позволяет включать/отключать для просмотра колонки по выбору. Добавлена возможность выбора для фильтрации нескольких производителей и/или категорий.
       
      Более 115 интернет-магазинов уже используют этот модуль!
      (информация на 1 декабря 2019 года)
       
      NEW! В версии 3.2 добавлена возможность редактирования изображений, названия, модели, артикула, производителя, категорий (совместим с SEO_PRO), цены, акционной цены, количества и статуса товара не заходя в товар. Добавлена возможность группового Включения/Отключения отфильтрованных товаров. Добавлена возможность скрытия левого меню и фильтра.
       
      Демонстрация (admin):
      Логин: demo / Пароль: demo
      https://demo3ru.open.cc.ua/admin/index.php?route=catalog/product
       
      Не заменяет файлов, все изменения вносятся через OCMOD или jQuery.
       
      Работает (тестировался): OpenCart: 3.0.0.0, 3.0.1.1, 3.0.1.2, 3.0.2.0, 3.0.3.x; ocStore: 3.0.2.0.
       
      ВНИМАНИЕ!
      Версия 3.2 требует Ioncube Loader не ниже версии 10 и PHP не ниже версии 5.6 (поддерживает версии PHP 5.6, 7.0, 7.1, 7.2, 7.3, 7.4)! Лицензия активируется автоматически. Тех, кто не указал домен при покупке, прошу указать его в ЛС или письмом на адрес i.bond@mail.ru указав при этом номер счета и ник на данном форуме.  
      Установка:
      Загрузить файл в установках расширений, перейти в модификаторы и обновить.
       
      Что нового в версии 3.2.2:
      Добавлена совместимость с ocStore 3.0.2.0. Исправлены мелкие ошибки.  
      Что нового в версии 3.2.1.2:
      Исправлены мелкие ошибки.  
      Что нового в версии 3.2.0:
      Добавлена возможность редактирования изображений, названия, модели, артикула, производителя, категорий (совместим с SEO_PRO), цены, акционной цены, количества и статуса товара не заходя в товар. Добавлена возможность группового Включения/Отключения отфильтрованных товаров. Добавлена возможность скрытия левого меню и фильтра.  
      Что нового в версии 3.1.0:
      Добавлена возможность выбора для фильтрации нескольких производителей и/или категорий. Добавлена колонка производители в список товаров. Добавлена сортировка по производителю.  
      Что нового в версии 3.0.1:
      Исправлены мелкие ошибки. Добавил ibond Добавлено 16.10.2018 Категория Фильтры Системные требования Метод активации Автоматическая активация Ioncube Loader Требуется OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Да  
    • By ibond
      Дополнение добавляет возможность фильтровать товары в административной панели Opencart по производителям, категориям, артикулу (Sku), изображениям и ID товара. Добавляет колонки ID товара, Артикул, Производители и  Категории в списке товаров и позволяет включать/отключать для просмотра колонки по выбору. Добавлена возможность выбора для фильтрации нескольких производителей и/или категорий.
       
      Более 115 интернет-магазинов уже используют этот модуль!
      (информация на 1 декабря 2019 года)
       
      NEW! В версии 3.2 добавлена возможность редактирования изображений, названия, модели, артикула, производителя, категорий (совместим с SEO_PRO), цены, акционной цены, количества и статуса товара не заходя в товар. Добавлена возможность группового Включения/Отключения отфильтрованных товаров. Добавлена возможность скрытия левого меню и фильтра.
       
      Демонстрация (admin):
      Логин: demo / Пароль: demo
      https://demo3ru.open.cc.ua/admin/index.php?route=catalog/product
       
      Не заменяет файлов, все изменения вносятся через OCMOD или jQuery.
       
      Работает (тестировался): OpenCart: 3.0.0.0, 3.0.1.1, 3.0.1.2, 3.0.2.0, 3.0.3.x; ocStore: 3.0.2.0.
       
      ВНИМАНИЕ!
      Версия 3.2 требует Ioncube Loader не ниже версии 10 и PHP не ниже версии 5.6 (поддерживает версии PHP 5.6, 7.0, 7.1, 7.2, 7.3, 7.4)! Лицензия активируется автоматически. Тех, кто не указал домен при покупке, прошу указать его в ЛС или письмом на адрес i.bond@mail.ru указав при этом номер счета и ник на данном форуме.  
      Установка:
      Загрузить файл в установках расширений, перейти в модификаторы и обновить.
       
      Что нового в версии 3.2.2:
      Добавлена совместимость с ocStore 3.0.2.0. Исправлены мелкие ошибки.  
      Что нового в версии 3.2.1.2:
      Исправлены мелкие ошибки.  
      Что нового в версии 3.2.0:
      Добавлена возможность редактирования изображений, названия, модели, артикула, производителя, категорий (совместим с SEO_PRO), цены, акционной цены, количества и статуса товара не заходя в товар. Добавлена возможность группового Включения/Отключения отфильтрованных товаров. Добавлена возможность скрытия левого меню и фильтра.  
      Что нового в версии 3.1.0:
      Добавлена возможность выбора для фильтрации нескольких производителей и/или категорий. Добавлена колонка производители в список товаров. Добавлена сортировка по производителю.  
      Что нового в версии 3.0.1:
      Исправлены мелкие ошибки.
    • By Lilya
      В OCstore3 если зайти в админке в "Дизайн" - "SEO URL", то там есть фильтр.
      УЖАС! Но этот фильтр работает только если вы вводите полностью все искомое слово.
      Например, вам нужно найти url страницы с акциями.
      Вы припоминаете, что там страница называлась как-то special (как-то так...). Но фильтр никогда ничего не найдет, пока вы полностью не наберете "product/special". Он попросту не будет ничего находить. Вручную, среди 100500 ссылок вам тоже очень трудно найти нужный url.
      Предлагаю улучшить фильтр - сделать поиск по части слова. Набрал "spec" и уже получаешь значение "product/special".
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.