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

Как настроить сортировку категорий фильтра?


Recommended Posts

Есть простейший фильтр, в котором задан порядок сортировки (см. скриншот). НО почему то на выходе все равно сортирует по алфавиту, где задать этот порядок, чтобы сортировало как надо?

Скриншот 01-05-2018 152511.jpg

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


5 минут назад, vladimirr89 сказал:

Есть простейший фильтр, в котором задан порядок сортировки (см. скриншот).

это сортировка вывода фильтров, а не товаров 

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

3 минуты назад, fanatic сказал:

это сортировка вывода фильтров, а не товаров 

Так ему это и нужно помоему.

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

46 минут назад, legioner26 сказал:

Скачайте фикс, он бесплатно выложен. fix_filter.ocmod.xml

 

 

Я бы с радостью, но уже все настроено, затык на этой сортировке фильтров случился. Может кэш какой почистить надо или есть файлы, отвечающие за это, я бы там прописал что-то типа "orderBy('id')"

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


Вот пример запроса через phpMyAdmin для наглядности.

SELECT DISTINCT f.filter_group_id, fgd.name, fg.sort_order FROM oc_filter f LEFT JOIN oc_filter_group fg ON (f.filter_group_id = fg.filter_group_id) LEFT JOIN oc_filter_group_description fgd ON (fg.filter_group_id = fgd.filter_group_id) WHERE f.filter_id IN (44,19,27,51) AND fgd.language_id = '1' GROUP BY f.filter_group_id ORDER BY fg.sort_order, LCASE(fgd.name)

http://prntscr.com/jcdm0s

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

3 часа назад, legioner26 сказал:

Находится в catalog/model/catalog/category.php

 

Собсно вод код, в нем четко написано "сортируем по полю sort_order", но почему-то оно сортирует все равно по name. Удалял это поле, разные методы пробовал другие, никаких изменений. Изменил в базе данных название фильтра, в админке название сменилось, а на сайте нифига. Что это вообще такое, куда сохраняются эти данные?? Я не особо еще в опен карт, в какие кэши еще сохраняется информация кроме system/storage/cache? Сижу ковыряю уже 2 часа, не понимаю в чем проблема. Подскажите пожалуйста!

	public function getCategoryFilters($category_id) {
		$implode = array();

		$query = $this->db->query("SELECT filter_id FROM " . DB_PREFIX . "category_filter WHERE category_id = '" . (int)$category_id . "'");

		foreach ($query->rows as $result) {
			$implode[] = (int)$result['filter_id'];
		}

		$filter_group_data = array();

		if ($implode) {
			$filter_group_query = $this->db->query("SELECT DISTINCT f.filter_group_id, fgd.name, fg.sort_order FROM " . DB_PREFIX . "filter f LEFT JOIN " . DB_PREFIX . "filter_group fg ON (f.filter_group_id = fg.filter_group_id) LEFT JOIN " . DB_PREFIX . "filter_group_description fgd ON (fg.filter_group_id = fgd.filter_group_id) WHERE f.filter_id IN (" . implode(',', $implode) . ") AND fgd.language_id = '" . (int)$this->config->get('config_language_id') . "' GROUP BY f.filter_group_id ORDER BY fg.sort_order, LCASE(fgd.name)");

			foreach ($filter_group_query->rows as $filter_group) {
				$filter_data = array();

				$filter_query = $this->db->query("SELECT DISTINCT f.filter_id, fd.name FROM " . DB_PREFIX . "filter f LEFT JOIN " . DB_PREFIX . "filter_description fd ON (f.filter_id = fd.filter_id) WHERE f.filter_id IN (" . implode(',', $implode) . ") AND f.filter_group_id = '" . (int)$filter_group['filter_group_id'] . "' AND fd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY f.sort_order, LCASE(fd.name)");

				foreach ($filter_query->rows as $filter) {
					$filter_data[] = array(
						'filter_id' => $filter['filter_id'],
						'name'      => $filter['name']
					);
				}

				if ($filter_data) {
					$filter_group_data[] = array(
						'filter_group_id' => $filter_group['filter_group_id'],
						'name'            => $filter_group['name'],
						'filter'          => $filter_data
					);
				}
			}
		}

		return $filter_group_data;
	}

 

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


system/storage/modification/catalog/model/catalog/category.php

есть такой файл?

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

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

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

Important Information

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