scary.png Happy Halloween! Лови жутко страшный список шаблонов и модулей со скидками.
Jump to content

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

Share this post


Link to post
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.

Guest
You are posting as a guest. If you have an account, please sign in.
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.

Sign in to follow this  

  • Similar Content

    • By whiteblue
      Модуль автоматом задает и редактирует, а также позволяет добавлять атрибуты, фильтры, категории, производителей по заданным схемам.
      Удобный фильтр
      Понятные настройки
      Видео-инструкция  по ссылке
      https://www.youtube.com/embed/wuLzULDn8tI
       
      Возможности модуля:
       
      Автоматизирует наполнение товаров атрибутами, параметрами фильтра, категориями и производителями Создает схемы переопределения атрибутов, производителей и категорий по заданным параметрам. Переопределение по заданным параметров происходит при добавлении и редактировании товаров и после выгрузки. Можно настроить несколько условий переопределения для одной группы товаров Модуль просто адаптировать под любую синхронизацию товаров. Назначать автоматом параметры фильтра, что заменяет потребность в установке и адаптации фильтров по атрибутам  
       
      И  делается все это автоматически!!!
       
       
      Для 3-го покупателя цена -555р!!!
       
       
       
      Установка модуля:

      1. Создать резервную копию сайта и БД.
      2. Скачать архив
      3. Установить архив модуля  через админку. Модули - Установка расширений
      4. Обновить модификации в админке
      5. Активировать модуль. Модули - Модули - AutoDistribute
       
      Интеграция с выгрузками, синхронизациями или крон задачами
       
      С большим количесвом выгрузок  модуль интегрирован.. Для этого необходимо:
      при добавлении записи из статуса "отключен" перевести в статус включен   не путать со статусом модуля     НО если ваш модуль интеграции уникален и не использует стандартную модель обновления товара, то:
      в контроллер модуля , который отвечает за выгрузку после кода выполнения выгрузки или синхронизации - вставляем код:
       
      $this->model->load('extension/module/autodistribute');
      $distributes=$this->model_extension_module_autodistribute->getDistributes();
      foreach($distributes as $distribute) {
      $this->model_extension_module_autodistribute->implementDistributes($distribute['distribute_id']);
      }

    • By whiteblue
      998.00 руб
      Скачать/Купить дополнение


      AutoDistribute + фильтр для Opencart 2x, 3.х
       
      Модуль автоматом задает и редактирует, а также позволяет добавлять атрибуты, фильтры, категории, производителей по заданным схемам.
      Удобный фильтр
      Понятные настройки
      Видео-инструкция  по ссылке
      https://www.youtube.com/embed/wuLzULDn8tI
       
      Возможности модуля:
       
      Автоматизирует наполнение товаров атрибутами, параметрами фильтра, категориями и производителями Создает схемы переопределения атрибутов, производителей и категорий по заданным параметрам. Переопределение по заданным параметров происходит при добавлении и редактировании товаров и после выгрузки. Можно настроить несколько условий переопределения для одной группы товаров Модуль просто адаптировать под любую синхронизацию товаров. Назначать автоматом параметры фильтра, что заменяет потребность в установке и адаптации фильтров по атрибутам  
       
      И  делается все это автоматически!!!
       
       
      Для 3-го покупателя цена -555р!!!
       
       
       
      Установка модуля:

      1. Создать резервную копию сайта и БД.
      2. Скачать архив
      3. Установить архив модуля  через админку. Модули - Установка расширений
      4. Обновить модификации в админке
      5. Активировать модуль. Модули - Модули - AutoDistribute
       
      Интеграция с выгрузками, синхронизациями или крон задачами
       
      С большим количесвом выгрузок  модуль интегрирован.. Для этого необходимо:
      при добавлении записи из статуса "отключен" перевести в статус включен   не путать со статусом модуля     НО если ваш модуль интеграции уникален и не использует стандартную модель обновления товара, то:
      в контроллер модуля , который отвечает за выгрузку после кода выполнения выгрузки или синхронизации - вставляем код:
       
      $this->model->load('extension/module/autodistribute');
      $distributes=$this->model_extension_module_autodistribute->getDistributes();
      foreach($distributes as $distribute) {
      $this->model_extension_module_autodistribute->implementDistributes($distribute['distribute_id']);
      }

      Добавил whiteblue Добавлено 29.01.2018 Категория Модули Системные требования Метод активации По запросу в ЛС
      По запросу на почту
      По скайпу
      Через официальный сайт дополнения Ioncube Loader Нет OpenCart 3.0
      2.3
      2.1 ocStore 2.3
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1 Обращение к серверу разработчика Да Старая цена 2800  
    • By SooR
      OCFilter - это быстрый и функциональный фильтр товаров в каталоге.
      Основной упор делается на скорость отбора товаров и удобство использования фильтра как покупателями, так и владельцами магазинов.
      Поэтому юзабилити и алгоритмы поиска развиваются постоянно, независимо от достигнутых или поставленных целей.
       
      Демо-версия

      Каталог
      Админ-панель

      Логин: demo
      Пароль: demo
       
      Совместимость

      Модуль совместим с OpenCart 2.* и 3.* (включая различные сборки на базе этих версий).
      OpenCart 1.5.x больше не поддерживается (04.03.2019).
      Техподдержка уже установленных модулей на 1.5 будет действовать до 31.07.2019.
       
      Совместимость с шаблонами

      Основные возможности модуля

      Фильтрация по:
      цене с логарифмической шкалой; производителям; наличию на складе (как по количеству, так и по stock_status_id); атрибутам*; опциям товара*; стандартным фильтрам OpenCart*.
      *требует скопировать их в настройках модуля
      - Поддержка мультиязычности;
      - Поддержка SEO URL для фильтров и его значений;
      - Работа с большим количеством товаров (100к +) и фильтров;
      - Создание посадочных страниц для определенного набора фильтров со своими meta-данными и текстом;
      - Не конфликтует с шаблонами и другими модулями;
      - Не заменяет файлы Вашего магазина, устанавливается через установщик дополнений OCmod с минимальными вставками кода;
      - Поддержка мобильных версий;
      - Возможность скрывать неактивные (с нулевым количеством товаров) значения фильтра;
      - Возможность использовать слайдеры для любых фильтров;
      - Возможность ограничивать вывод фильтров и значений, скрывая лишние под collapse кнопку;
      - Код модуля не зашифрован и не требует декодеров.

      Формирование SEO URL приводит ссылку фильтров в следующий вид:
      http[s]://domain.com/category-[n]/manufacturer-[n]/price/[number]-[number]/sklad/[in|out|stock_status_id]/filter-[n]/value-[n]/filter-[n]/[number]-[number][/|] Реальная ссылка демо-версии:
      http://demo2.ocfilter.com/noutbuki-planshety-po/noutbuki-planshety-kompjutery/noutbuki/dell/obem-i-tip-hdd/1-tb/opticheskij-nakopitel/dvd-rw/ Постоянным покупателям модуля скидки (см. справа).
       
      Внимание! 
      Модуль работает только в категориях товара! В акциях, производителях и на странице поиска он не работает.
       
      Внимание!
      Для правильной работы фильтра OCFilter вам необходимо отключить модификаторы всех других сторонних модулей фильтра (если такие модули устанавливались)!
      То есть отключить модификаторы из админки и в директории /system/[название_файла].xml
      Название файла достаточно переименовать, добавив в конце "_"
      /system/[название_файла].xml_ После этого обязательно очистите и обновите модификаторы в панели управления сайтом.
       
      Частые вопросы
      https://opencartforum.com/files/file/3394-ocfilter-modul-filtra-tovarov/?tab=tutorials
       
      Контакты

      Время работы поддержки: пн-пт с 10:00 до 19:00, суббота, воскресенье - выходной
    • By SooR
      1 000.00 руб
      Скачать/Купить дополнение


      OCFilter - Модуль фильтра товаров
      OCFilter - это быстрый и функциональный фильтр товаров в каталоге.
      Основной упор делается на скорость отбора товаров и удобство использования фильтра как покупателями, так и владельцами магазинов.
      Поэтому юзабилити и алгоритмы поиска развиваются постоянно, независимо от достигнутых или поставленных целей.
       
      Демо-версия

      Каталог
      Админ-панель

      Логин: demo
      Пароль: demo
       
      Совместимость

      Модуль совместим с OpenCart 2.* и 3.* (включая различные сборки на базе этих версий).
      OpenCart 1.5.x больше не поддерживается (04.03.2019).
      Техподдержка уже установленных модулей на 1.5 будет действовать до 31.07.2019.
       
      Совместимость с шаблонами

      Основные возможности модуля

      Фильтрация по:
      цене с логарифмической шкалой; производителям; наличию на складе (как по количеству, так и по stock_status_id); атрибутам*; опциям товара*; стандартным фильтрам OpenCart*.
      *требует скопировать их в настройках модуля
      - Поддержка мультиязычности;
      - Поддержка SEO URL для фильтров и его значений;
      - Работа с большим количеством товаров (100к +) и фильтров;
      - Создание посадочных страниц для определенного набора фильтров со своими meta-данными и текстом;
      - Не конфликтует с шаблонами и другими модулями;
      - Не заменяет файлы Вашего магазина, устанавливается через установщик дополнений OCmod с минимальными вставками кода;
      - Поддержка мобильных версий;
      - Возможность скрывать неактивные (с нулевым количеством товаров) значения фильтра;
      - Возможность использовать слайдеры для любых фильтров;
      - Возможность ограничивать вывод фильтров и значений, скрывая лишние под collapse кнопку;
      - Код модуля не зашифрован и не требует декодеров.

      Формирование SEO URL приводит ссылку фильтров в следующий вид:
      http[s]://domain.com/category-[n]/manufacturer-[n]/price/[number]-[number]/sklad/[in|out|stock_status_id]/filter-[n]/value-[n]/filter-[n]/[number]-[number][/|] Реальная ссылка демо-версии:
      http://demo2.ocfilter.com/noutbuki-planshety-po/noutbuki-planshety-kompjutery/noutbuki/dell/obem-i-tip-hdd/1-tb/opticheskij-nakopitel/dvd-rw/ Постоянным покупателям модуля скидки (см. справа).
       
      Внимание! 
      Модуль работает только в категориях товара! В акциях, производителях и на странице поиска он не работает.
       
      Внимание!
      Для правильной работы фильтра OCFilter вам необходимо отключить модификаторы всех других сторонних модулей фильтра (если такие модули устанавливались)!
      То есть отключить модификаторы из админки и в директории /system/[название_файла].xml
      Название файла достаточно переименовать, добавив в конце "_"
      /system/[название_файла].xml_ После этого обязательно очистите и обновите модификаторы в панели управления сайтом.
       
      Частые вопросы
      https://opencartforum.com/files/file/3394-ocfilter-modul-filtra-tovarov/?tab=tutorials
       
      Контакты

      Время работы поддержки: пн-пт с 10:00 до 19:00, суббота, воскресенье - выходной
      Добавил SooR Добавлено 27.09.2016 Категория Фильтры Системные требования Обязательное наличие подключенного Bootstrap (js и css).jQuery версии 1.9.1 и выше. Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х Обращение к серверу разработчика Нет Старая цена 0  
    • By darlin
      После импорта товаров на сайт чурез модуль universal import/export pro перестал работать поиск товаров в админке( при поиске везде пишет "нет данных". мучаюсь уже второй день, подскажите куда копать
  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.