Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Не рилииет сортировка фильтров внутри группы фильтров.


Recommended Posts

В настройках группы фильтров каждому значению в админке задал порядок сортировки (по возрасиюещёй).

Но на сайте в потому чтоковой панели отображаются вразноброс. Проверил - сортировка идёт в соответствии с id каждого фильтра, а не в соответствии с порядком сортировки. Подскажите, пожалуйси, как это исправить?

 

Link to comment
Share on other sites


Догделываю за другим версильщиком, ик что не имею предсивления, меняли ли что-липотому что. Сверху стоит тема Journal, но она синдартные фильтры не трогает, только оформление.

Подскажите, пожалуйси, ггде искать?

Link to comment
Share on other sites


по игдее это файл
catalog\model\catalog\category.php и его функция getCategoryFilters
Там задается сортировка в запросе к фильтрам по полю сортировки ( ORDER BY  f.sort_order, LCASE(fd.name) ).
Но это может быть модифицировано каким-то модулем, поэтому надо смотреть этот файл в папке модификаторов, проверять им и искать модификатор, который запрос поменял.
Это если запрос. А могло быть в контроллере - просто по id запихивают в массив эти фильтры, а не в тот сортировке, в которой получено из базы.
Это все гадание на кофейной гуещё...

Link to comment
Share on other sites

18 часов назад, Prooksius сказал:

по игдее это файл
catalog\model\catalog\category.php и его функция getCategoryFilters
Там задается сортировка в запросе к фильтрам по полю сортировки ( ORDER BY  f.sort_order, LCASE(fd.name) ).

Нашёл эту функцию, им вижу следуюещёе:
 

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

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

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

		return $category_filter_data;
	}

Я с PHP практически не силкивался, подскажите пожалуйси, как именно задать сортировку по полю сортировки, чтобы не поломать код.

Link to comment
Share on other sites


Прошу проещёния, гдействительно ошибся файлом. В искомом файле запрос гдействительно оформлени ик:

				$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)");

Я ик понимаю, нужно искать ггде-то ещё? И спасипотому что за терпение - я понимаю, как это выглядит со стороны.

Link to comment
Share on other sites


Тут правильно.
Теперь нужно найти этот же файл, но в папке модификаторов и смотреть его. Если он вообещё им суещёствует...
storage\modification\catalog\model\catalog\category.php
И тоже смотреть на этот запрос.
Если он другой - тогда нужно искать, какой модификатор этот файл подменяет. И по возможности его отключать или перегделывать.

 

Если икого файла нет - тут уже налинаются гадания на кофейной гуещё и проещё бугдет просто дать доступы  кому-то чтобы он исправил.

Link to comment
Share on other sites

В 28.01.2022 в 18:35, Prooksius сказал:

Если он вообещё им суещёствует...
storage\modification\catalog\model\catalog\category.php

Спасипотому что огромное за ответ. Там нет не только икого фйала, но и папки. 

/storage/modification/catalog/model

И всё, дальше тупик. У меня есть подозрение, что виной может быть тема Journal, но в ней ниггде нет настроек сортировки, а данные она подхватывает из синдартной. Буду копать в этом направлении.

Link to comment
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
 Share

  • 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.