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

OCFilter 4.19 сортировка значений фильтра


Recommended Posts

Как заставить выводить значения в фильтре (OCFilter 4.19) на сайте в том порядке как они есть в админке. Автор морозит. В теме поддержки не очень общительны. Вынужден писать сюда.

Спасибо за любые советы. Горит.

 

58bea7289a60c_.jpg.3a9629b54d1c4c00444c50923c1a1570.jpg

Змінено користувачем mario512
Надіслати
Поділитися на інших сайтах

Если не ошибаюсь, то порядок значений в фильтре = порядку атрибутов.

Сделайте бэкап и скопируйте в модуле значения

Змінено користувачем n3bo
Надіслати
Поділитися на інших сайтах


  • 3 months later...

У кого то получилось добиться сортировки значений фильтра? Это просто жесть! Таких крайне важных функций попросту нет! НЕ могу пока в коде найти где этот запрос который работает на вывод значений в фильтре. В БД вроде нашел нужное поле в таблице oc_ocfilter_option_value .Поле sort_order. Правда изменяя эти значения в БД - ни какой реакции. Видимо в коде просто нет сортировки. Где же ее добавить? Подскажите, плиз! Уже третий час бьюсь.

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


Хы... )) Не, я понимаю... хочется что то сказать. Но если знаете где пилить - то будьте добры. А такой совет... прошу прощения - но выше я кажется и написал что пилить - пилю.

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


52 minutes ago, nikifalex said:

очевидно что в функции getOCFilterOptionsByCategoryId

и конечно же кэш очистить не забудьте.

 

ВСЕ! Еще раз спасибо! Вроде нашел то что нужно! :) Поменял сортировку с name на value_id. Тоже не совсем удобно, но покарйней мере более разумно ;) Сроки поджимают. Надо работу сдавать. Пока пойдет так! Жаль не могу лайкнуть ваш пост. Наверно еще не достаточно прав. Но СПАСИБО за подсказку!

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


  • 1 month later...
В 01.07.2017 в 20:53, volfr сказал:

ВСЕ! Еще раз спасибо! Вроде нашел то что нужно! :) Поменял сортировку с name на value_id. Тоже не совсем удобно, но покарйней мере более разумно ;) Сроки поджимают. Надо работу сдавать. Пока пойдет так! Жаль не могу лайкнуть ваш пост. Наверно еще не достаточно прав. Но СПАСИБО за подсказку!

Где правили, если не секрет?

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

On 8/28/2017 at 6:55 PM, mario512 said:

Где правили, если не секрет?

Я уже и не помню... :) все равно пришлось отказаться отOCFilter в сторону Мегафильтра. Все таки у него больше преимуществ. Не помню уже какие именно критерии оказались решающими. Долго искал оптимальный вариант. Остановился на Мегафильтре.

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


  • 3 weeks later...

С горем по полам победил, как и писал @nikifalex

Нужно поменять значение name на value_id в методе  getOCFilterOptionsByCategoryId
Этот метод находится в файле catalog/controller/extension/module/ocfilter.php

 $values_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "ocfilter_option_value oov LEFT JOIN " . DB_PREFIX . "ocfilter_option_value_description oovd ON (oov.value_id = oovd.value_id) WHERE oov.option_id IN (" . implode(',', $options_id) . ") AND oovd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY (oovd.value_id = '-') DESC, (oovd.value_id = '0') DESC, (oovd.value_id + 0 > 0) DESC, (oovd.value_id + 0), LENGTH(oovd.value_id), oovd.value_id");

Криворуко, через жопу, но работает.

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


В 22.09.2017 в 12:23, FLV сказал:

С горем по полам победил, как и писал @nikifalex

Нужно поменять значение name на value_id в методе  getOCFilterOptionsByCategoryId
Этот метод находится в файле catalog/controller/extension/module/ocfilter.php


 $values_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "ocfilter_option_value oov LEFT JOIN " . DB_PREFIX . "ocfilter_option_value_description oovd ON (oov.value_id = oovd.value_id) WHERE oov.option_id IN (" . implode(',', $options_id) . ") AND oovd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY (oovd.value_id = '-') DESC, (oovd.value_id = '0') DESC, (oovd.value_id + 0 > 0) DESC, (oovd.value_id + 0), LENGTH(oovd.value_id), oovd.value_id");

Криворуко, через жопу, но работает.

Спасибо!

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

Обсуждение технических моментов платных продуктов проводится в их темах поддержки, если дополнение представлено на этом форуме или с разработчиком дополнения. Закрыто.

Змінено користувачем shoputils
Надіслати
Поділитися на інших сайтах

Гість
Ця тема закрита для публікації повідомлень.
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

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